我想使用 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)
请您参考如下方法:
def company_user_count(self):
return self.users.count()
