我在Django中有一个查询,我想在每个寄存器中应用一个匹配项。
whatever = Whatever.objects.all()
for w in whatever:
contador+=getMycoincidenceswhatever(w)
getMycoincidences无论是什么功能,我都会在其中搜索与其他表的某些巧合。
def getMycoincidenceswhatever(w)
coincidences=Notificationwhatever.objects.filter
(Q(field_whatever__in=w.field)).count()
return coincidences
有没有不使用bucle的方法?问题在于此查询正在减慢我的服务器的速度,因为这个气泡。
答案 0 :(得分:1)
尝试使用子查询:
from django.db.models import Subquery, Q
Notificationwhatever.objects.filter(
field_whatever__in=Subquery(Whatever.objects.all().values("field"))
).count()