Django ORM 查询嵌套模型
Django ORM querying nested models
我想用django ORM从数据库中过滤一些记录,
我有一个名为 User
的模型,其中包含另一个模型的字段 profile
,
当我执行以下操作时,我得到了所有具有配置文件的用户:
users = User.objects.filter(Q(profile__isnull=False))
profile
有一个字段 age
我想删除所有配置文件和年龄> 30 的用户。
因此,我遍历了所有具有配置文件的用户,然后检查他们的年龄是否 > 30。
for user in users:
if user.profile.age>30:
user.delete()
有没有办法直接在查询中使用user.profile.age>30
?
我通过组合 Django
中的 Q
个对象解决了这个问题,如下所示:
User.objects.filter(Q(profile__isnull=False) & Q(profile__age__gt=30))
我想用django ORM从数据库中过滤一些记录,
我有一个名为 User
的模型,其中包含另一个模型的字段 profile
,
当我执行以下操作时,我得到了所有具有配置文件的用户:
users = User.objects.filter(Q(profile__isnull=False))
profile
有一个字段 age
我想删除所有配置文件和年龄> 30 的用户。
因此,我遍历了所有具有配置文件的用户,然后检查他们的年龄是否 > 30。
for user in users:
if user.profile.age>30:
user.delete()
有没有办法直接在查询中使用user.profile.age>30
?
我通过组合 Django
中的 Q
个对象解决了这个问题,如下所示:
User.objects.filter(Q(profile__isnull=False) & Q(profile__age__gt=30))