Задать вопрос
@ksenod

Почему объединение двух Queryset.values в set дает в результате множество объектов(со всеми их полями)?

Код которым получил результат
a = Product.objects.order_by('-date_updated').values('id')[:3]
b = Product.objects.filter(new_product__in=NewArrival.objects.all()).values('id')
c = set(a|b)

В a и b лежит [{'id':1},{'id':4}, ...
а в с уже попадают объекты product. Как это работает?
аналогично, если сделать просто a|b получу кверисет продуктов а не id
  • Вопрос задан
  • 94 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Django: создание backend-приложений
    7 недель
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@deliro
Видимо баг, сделай

set((Product.objects.order_by('-date_updated')[:3] | Product.objects.filter(new_product__in=NewArrival.objects.all())).values_list("id", flat=True))
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы