我正在努力弄清楚如何遵循对象的关系和计数字段。
在我的 Django 站点中,我有一个配置文件模型:
user = models.ForeignKey(User, unique=True)
name = models.CharField(_('name'), null=True, blank=True)
about = models.TextField(_('about'), null=True, blank=True)
location = models.CharField(_('location'), null=True, blank=True)
website = models.URLField(_('website'), null=True, blank=True)
我的理解是,这是使用用户名作为外键。
我希望能够计算并显示我的用户填写的完整个人资料的数量,以及具有特定“元素/字段”的个人资料的数量? (姓名)* 已填写。我试过:
Profile.objects.all().count()
这给了我与用户相同数量的配置文件,我猜这是因为每个用户都存在配置文件模型,即使它是空白的。
我不确定如何计算已完成这些字段之一的配置文件,我也不确定如何计算已完成的“名称”字段的数量。
我试过:
Profile.objects.all().name.count()
Django 在 queryset api 上有一些很好的文档, 但它目前有点超出我的头脑
- 请原谅我使用了不正确的术语。
请您参考如下方法:
你应该能够让他们使用:
Profile.objects.filter(name__isnull=False)
