У меня есть модель проекта, аналогичная:Как получить количество объектов на auth.user?
class Project(models.Model):
...
lead_analyst=models.ForeignKey(User, related_name='lead_analyst')
...
Я хочу использовать агрегацию Джанго, чтобы вернуть все пользователь с числом проектов для каждого пользователя. Что-то вроде:
models.User.objects.annotate(project_count=Count('project_set'))
Только это не работает, потому что auth.user
не имеет знания о моем классе Project. Я получаю ошибку:
Cannot resolve keyword 'project_set' into field. Choices are: date_joined, email, employee, first_name, groups, id, is_active, is_staff, is_superuser, last_login, last_name, lead_analyst, logentry, message, password, siteprofile, submitter, user_permissions, username
Две части вопроса, на самом деле:
Как получить этот счетчик проектов на
auth.user
Есть ли лучший способ, чтобы написать ассоциацию между моим Класс проекта и класс
auth.user
, который сделает эту агрегацию жизнеспособной?
Или я должен просто вломиться в необработанный sql для агрегации (либо через raw sql в django, либо в виде базы данных)?
Ну, я идиот фрикки ... :-) Причина для связанного_имя заключается в том, что у меня есть несколько полей, относящихся к Пользователю в этой модели. Я просто не отобразил их в своем фрагменте выше. Спасибо за помощь. – cethegeek