Русские документы
Ежедневные компьютерные новости RSS rusdoc.ru  Найти :
Новости
Последние поступления
Книжный магазин
  Hardware:
Видеоустройства
Системные платы
Процессоры
Мобильные устройства
Аудиосистема
Охлаждение системы
Накопители информации
КПК и ноутбуки
Телефоны и связь
Периферия
Система
Сети
Разные устройства
 
  Programming:
Web-разработка
Языки программирования
Технологии и теория
Разработка игр
Программная инженерия
 
  Software:
Операционные системы
Windows 7
Базы данных
Обзоры программ
Графика и дизайн
   
  Life:
Компьютерная жизнь
Разные материалы
   
Партнеры
Публикация
Правовая информация
Реклама на сайте
Обратная связь
Экспорт в RSS Экспорт в RSS2.0
    Читать в Яндекс.Ленте



Django: queryset-refactor

Раздел: Programming / Python @ 27.04.2008 | Ключевые слова: python django версия для печати

Автор: Honeyman
Источник: habrahabr

Долгожданная ветка queryset-refactor наконец-то слита с основной рабочей веткой trunk (изменение r7477). Официальная документация для trunk-а на сайте тоже обновлена.
Что это значит для всех нас?
  • Самое главное - это, конечно, model inheritance. Модели могут наследоваться друг от друга, и при этом соответствующие им таблицы в базе данных будут ссылаться друг на друга соответственно.

  • Базовые классы при этом могут быть абстрактными (и в таком случае для них не будет создаваться отдельной таблицы, а определённые в них поля будут созданы в таблице модели-потомка), а могут и не быть (и тогда таблица модели-потомка будет ссылаться на базовую таблицу).

  • Наследование, кстати, может быть и множественным.

  • Поля OneToOneField больше не создают автоматически первичный ключ. Будьте осторожны, это изменение с потерей обратной совместимости.

  • Теперь объекты Q могут использоваться с операторами &, | и ~, и результатом тоже будет Q-объект.

  • .filter(field=None) (или .filter(field__exact=None)) теперь эквивалентно .filter(field__isnull=True).

  • Теперь у QuerySet-а есть метод update(), позволяющий изменить что-нибудь сразу для всех полей, соответствующих QuerySet-у.


... ну, и ещё много всего прочего интересного, но отдельно стоит упомянуть недодокументированную приятную фенечку - .query и .query.as_sql() для любых QuerySet-ов - теперь становится понятно, какой SQL генерируется при сложных запросах...

Это интересно:








версия для печатиРаспечатать статью


Вернуться в раздел: Programming / Python


Реклама:
Читать наc на:

Add to Google
Читать в Яндекс.Ленте






Rambler's Top100
© Copyright 1998-2012 Александр Томов. All rights reserved.