Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Sql метод not in в Django, Выборка отсутсвуюших обектов в моделе 
V
    Опции темы
aminiy
Дата 3.3.2010, 18:07 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 4.9.2008

Репутация: нет
Всего: 1



Здравствуйте. Есть задача Выбрать из первой модели записи которых нет во второй.

как в SQL

Select * from TABLE1 where id not in (select id from table2)

Спасибо.
PM MAIL   Вверх
aminiy
Дата 12.3.2010, 08:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 50
Регистрация: 4.9.2008

Репутация: нет
Всего: 1



Если кому надо вот решение.
Для начала Пришлось отфильтровать поля из второй модели то что я не хочу видеть во второй.

Код

report_payed = Pay.objects.filter( date = date, unit__pavilion = pavilion ).values( 'unit' )


values возвращает словарь надо его преобразовать в list я сделал так

Код

payed = [ num['unit'] for num in report_payed if num['unit'] ]


теперь фильтруем из первой модели

Код

report = Unit.objects.exclude( id__in = payed )


exlude() это что то типа За исключением шитай SQL оператор NOT

__in это SQL оператор in который принимает LIST



Это сообщение отредактировал(а) aminiy - 12.3.2010, 08:15
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Веб-разработка и фреймворки | Следующая тема »


 




[ Время генерации скрипта: 0.0916 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.