我有一个类似于以下的项目模型:
class Project(models.Model):
...
lead_analyst=models.ForeignKey(User, related_name='lead_analyst')
...
我想使用 django 聚合来返回所有用户以及每个用户的项目数。就像是:
models.User.objects.annotate(project_count=Count('project_set'))
只是那不起作用,因为auth.user
对我的项目课程一无所知。我得到错误:
无法将关键字“project_set”解析为字段。选项有: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
有没有更好的方法来编写我的 Project 类和
auth.user
使这种聚合可行的类之间的关联?
或者我应该只进入原始 sql 进行聚合(通过 django 中的原始 sql 或数据库中的视图)?