У меня есть запрос, который показывает разные результаты, когда я использую и или &
criteria1 = Q(id__gte=802, id__lte=1000)
criteria2 = Q(country_id__contains='UK')
Я всегда использовал:
q = Mymodel.objects.filter(criteria1 & criteria2)
Но в этом конкретном случае, когда я использую & , он всегда выводит одну строку. (я также проверил print q.query () , запрос работает нормально)
Однако, когда я использую и вместо* * & тысяча двадцать-один .Запрос дает правильный вывод
q = Mymodel.objects.filter(criteria1 and criteria2)
что на самом деле происходит под капотом?