使用Django ORM我想在Company上創建一個返回用戶數的方法。如何計算所有反向關係的用戶
這是我曾嘗試(見company_user_count法):
用戶模型:
class AppUser(AbstractBaseUser):
email = models.EmailField(
verbose_name='email address',
max_length=254,
unique=True,
db_index=True,
)
company = models.ForeignKey('Company', related_name="users")
公司型號:
class Company(models.Model):
name = models.CharField(max_length=60)
def company_user_count(self):
return Company.objects.filter(users__company=self.company).annotate(user_count=Count('users'))
上面好像又回到實際對象而不是簡單的計數(int)
事實上這並不會工作。 – 2014-10-06 15:15:33
你能解釋一下爲什麼嗎? – Leistungsabfall 2014-10-06 15:17:24
請參閱['get'工作原理](https://docs.djangoproject.com/en/dev/ref/models/querysets/#get) - 它與字典方法'get'不同認爲是你所瞭解的。 – 2014-10-06 15:20:53