#django #django-queryset
#django #django-queryset
Вопрос:
У меня есть запрос в Django, и я хочу применить совпадение в каждом регистре.
whatever = Whatever.objects.all()
for w in whatever:
contador =getMycoincidenceswhatever(w)
getMycoincidenceswhatever — это функция, в которой я ищу некоторые совпадения с другой таблицей.
def getMycoincidenceswhatever(w)
coincidences=Notificationwhatever.objects.filter
(Q(field_whatever__in=w.field)).count()
return coincidences
Есть ли какой-нибудь способ сделать это без использования bucle for? Проблема в том, что этот запрос замедляет работу моего сервера, потому что этот пакет.
Ответ №1:
Попробуйте с помощью подзапроса:
from django.db.models import Subquery, Q
Notificationwhatever.objects.filter(
field_whatever__in=Subquery(Whatever.objects.all().values("field"))
).count()