我在Django中有一个查询,我想在每个寄存器中应用一个匹配。
whatever = Whatever.objects.all()
for w in whatever:
contador+=getMycoincidenceswhatever(w)
getMycoincidenceWhatever是一个函数,我可以在其中搜索与其他表的一些巧合。
def getMycoincidenceswhatever(w)
coincidences=Notificationwhatever.objects.filter
(Q(field_whatever__in=w.field)).count()
return coincidences
有没有什么方法可以在不使用bucle的情况下做到这一点?问题是这个查询正在减慢我的服务器速度,因为这个bucle。
尝试使用子查询:
from django.db.models import Subquery, Q
Notificationwhatever.objects.filter(
field_whatever__in=Subquery(Whatever.objects.all().values("field"))
).count()