Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 18, 2016 18:39:33

idnkunv
Зарегистрирован: 2015-03-05
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Фильтры

Здравствуйте.
У меня возникли сложности с фильтрами. К сожалению быстро я их не смог решить, либо не сумел найти решение.

Суть вопроса:
1) Есть модель продавцы;
2) Есть модель набор, которые продает продавец;
а) С внешним ключом к продавцам;
б) С внешним ключом к книгам.

Наборов у продавца может быть неограниченное количество. Наборы могут не содержать книгу или содержать.

Я хочу получить список всех продавцов, у которых известно количество наборов, для этих наборов можно указать определённые книги.
Пример: “Война и Мир, Идиот”
Должно вернуть всех продавцов у которых есть наборы с книгами “Война и Мир, Идиот”.
Если у продавца есть наборы где есть “Война и Мир, Идиот, 1984” — такого продавца мы не учитываем.
Пример: “Война и Мир, Война и Мир”
Должно вернуть всех продавцов у которых есть наборы с книгами “Война и Мир, Война и Мир”.
Если у продавца есть наборы где есть “Война и Мир, Война и Мир, 1984” — такого продавца мы не учитываем.

Заранее спасибо!

Офлайн

#2 Ноя. 18, 2016 18:55:06

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Фильтры

Если вы хотите получить выборку одним запросом, то рекомендую для начала попробовать написать такой запрос на чистом SQL. Если с этим возникают трудности, то в плюс к этим трудностям примите, что запросы через ОРМ транслируются в SQL и конечно не дают всей гибкости чистых запросов. Не все можно сделать на ОРМ, тем более на джанговском. Просто не грейте себе мозг, и реализуйте логику на нескольких запросах, а окончательную фильтрацию и формирование данных сделайте питоном.



Офлайн

#3 Ноя. 18, 2016 19:27:28

idnkunv
Зарегистрирован: 2015-03-05
Сообщения: 13
Репутация: +  0  -
Профиль   Отправить e-mail  

Фильтры

FishHook
Не все можно сделать на ОРМ, тем более на джанговском.
Похоже именно с этим я и столкнулся, но не был уверен на все сто процентов.

Спасибо, тогда буду писать на чистом SQL.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version