大家好,我一直试图找出这个问题一两个小时,这让我很难过。
所以基本上我有3个模型,A,B,C,都使用外键链接在一起。
b = B.objects.filter(resident=request.user)
c = C.objects.filter(todays_treatment=medication,patient=b)
但c
除了查询b
中返回的第一个对象的结果外,不会给我任何值。我理解这是因为b
作为查询集返回,但我不明白我应该如何使用它呢?如何让c
成为查询b
中所有对象的结果?你们通常如何“跟随”外键关系?我已经尝试了select_related()
功能,但它不会做我想做的事情。请帮忙!!
答案 0 :(得分:3)
您可能正在寻找__in
语法:
c = C.objects.filter(todays_treatment=medication, patient__in=b)
要获取患者在b
查询集中的所有C对象,假设B对象是C.patient
指向的对象。