我有访问模型和患者模型
class Visit(models.Model):
patient = model.ForeignKey(Patient)
# other fields
class Patient(models.Model):
# other fields
我有像这样的访问的QuerySet
visits = Visit.objects.filter(#conditions)
如何在不使用值或values_list的情况下从访问QuerySet中有效地获取患者实例的QuerySet。即。
patients_ids = visits.values_list("Patient__id", flat=True).distinct()
patients = Patient.objects.filter(id__in=patients_ids)
答案 0 :(得分:0)
理解您的问题有点困难,但我认为这可能是您想要的:
visits = Visit.objects.filter(name=somename, count=something)
为了让病人对应你所做的事情:
patients = Patient.objects.filter(visit__name=somename, visit__count=something).distinct()
说明:
默认情况下,Patient
模型会获得一个倒向的多对一引用,称为另一个模型的小写(在这种情况下为visit
)。然后,您可以使用双下划线功能__
查询该关系,并执行您在Visit
过滤器中要执行的相同测试。