#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()