【问题标题】:Counting and filtering objects in a database with Django使用 Django 计算和过滤数据库中的对象
【发布时间】:2009-07-31 20:35:10
【问题描述】:

我正在努力弄清楚如何遵循对象的关系和计数字段。

在我的 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 上有一些很好的文档,但目前我有点过头了

  • 请原谅我使用了不正确的术语。

【问题讨论】:

    标签: python django django-models


    【解决方案1】:

    您应该能够使用:

    Profile.objects.filter(name__isnull=False)
    

    【讨论】:

      猜你喜欢
      • 2013-10-17
      • 1970-01-01
      • 2013-08-19
      • 2019-06-24
      • 2011-06-18
      • 2021-04-11
      • 2021-10-09
      • 2019-04-29
      • 1970-01-01
      相关资源
      最近更新 更多