Django:从查询集中查找所有 one_to_one 关系
Django: Find all one_to_one relations from queryset
我有一个 users
的查询集,它们是模型 User
的实例。
名为 Patient
的第二个模型有一个名为 user
:
的 OneToOneField
user = OneToOneField('users.User', on_delete=CASCADE, related_name="patient",
blank=True, null=True)
目标是从用户查询集中获取所有患者的查询集。
我认为使用 related_name
就足够了,意思是:
queryset_of_users=User.objects.filter(main_group='patients')
queryset_of_patients=queryset_of_users.patient
但似乎不是这样,因为我收到以下错误:
AttributeError: 'QuerySet' object has no attribute 'patient'
有什么想法吗?
找到了,
它通过进行第二个查询来工作:
queryset_of_patients=Patient.objects.filter(user__in=queryset_of_users)
我有一个 users
的查询集,它们是模型 User
的实例。
名为 Patient
的第二个模型有一个名为 user
:
OneToOneField
user = OneToOneField('users.User', on_delete=CASCADE, related_name="patient",
blank=True, null=True)
目标是从用户查询集中获取所有患者的查询集。
我认为使用 related_name
就足够了,意思是:
queryset_of_users=User.objects.filter(main_group='patients')
queryset_of_patients=queryset_of_users.patient
但似乎不是这样,因为我收到以下错误:
AttributeError: 'QuerySet' object has no attribute 'patient'
有什么想法吗?
找到了,
它通过进行第二个查询来工作:
queryset_of_patients=Patient.objects.filter(user__in=queryset_of_users)