次のようなプロジェクトモデルがあります。
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 クラスに関する知識がないため、それだけでは機能しません。エラーが発生します:
キーワード「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
2 つの部分からなる質問です。
このプロジェクトあたりの数を取得する方法
auth.user
auth.user
Project クラスとこの集約を実行可能にするクラスとの間の関連付けを記述するより良い方法はありますか?
それとも、集計のために生のSQLに侵入する必要がありますか(djangoの生のSQLまたはデータベースのビューのいずれかを介して)?