Переменная набора запросов Django типа None

#python #django #django-queryset

Вопрос:

Мне нужно запустить код, чтобы получить список подходящих тегов из модели автомобиля

 for tag_list in tag_id_list:
    car_filter = (car_filter | car.filter(tag_in=[tag_list]) ).distinct()
 

В приведенном выше коде автомобиль относится к типузапрос.Набор запросов’>
Как мне объявить переменную типа car_filterзапрос.Набор запросов’>> для объединения фильтра car_filter и автомобиля

Пробовал с car_filter = None and <class 'django.db.models.query.QuerySet'>None

Комментарии:

1. Мы не можем, но что мы можем сделать, это сделать 2-й набор, подобный этому набору(car.filter(tag_in=[tag_list]))

2. Не могли бы вы поподробнее, пожалуйста ?

3. Мы можем заменить линию на car_filter = (car_filter | set(car.filter(tag_in=[tag_list])) ).distinct()

4. Примечание: использование set оценивается в Python, а не в базе данных, поэтому это может привести к некоторому снижению производительности.

5. просто интересно, каково первоначальное значение car_filter при использовании в приведенном выше коде

Ответ №1:

Отфильтровал весь список сразу, а не отдельные итерации

 car = car.filter(tag_in=[tag_id_list]) ).distinct()