在没有for的情况下运行QuerySet Django



我在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()

相关内容

  • 没有找到相关文章

最新更新