Подчеркнем, что при создании объектов QuerySet используется механизм отложенного вызова, то есть сам факт создания QuerySet еще не означает обращения к базе данных. Ни одна из показанных выше строк не приводит к обращениям к базе; вы можете день напролет составлять цепочки из фильтров, но Django не станет выполнять запрос до ...
API доступа к базе данных в Django является дополнением к API моделей, рассмотренному в приложении А. После того как модель определена, для доступа к базе используется именно этот API. Несколько примеров его использования было приведено в основном тексте книги, а сейчас мы углубимся в детали.API доступа к базе данных, как ...
height_fieldИмя поля модели, в которое при сохранении автоматически будет записана высота изображения.width_fieldИмя поля модели, в которое при сохранении автоматически будет записана ширина изображения.Помимо специальных атрибутов, имеющихся в классе FileField, класс ImageField содержит еще атрибуты height и width - соответственно высоту и ширину изображения в пикселах.Для таких полей необходима библиотека Python ...
Основные сведения об определении моделей были приведены в главе 5 и использовались на протяжении всей книги. Однако многочисленные параметры так и остались не рассмотренными. В этом приложении мы расскажем обо всех параметрах моделей.Отметим, что, хотя описываемый ниже API считается устоявшимся, тем не менее разработчики Django все время добавляют новые вспомогательные ...
Интеграция Django с системой аутентификации
Опубликовано Пятница, Февраль 17, 2012 - admin. В рубрике Django Метки: Django, аутентификации, данных, информации, источников, пользователя
Django допускает возможность интеграции с существующей системой аутентификации, в которой применяются собственные источники имен и паролей пользователей или используются свои методы аутентификации.Например, в организации может быть настроен LDAP-каталог, где хранятся имена и пароли всех служащих. И сетевому администратору, и самим пользователям было бы очень неудобно иметь разные учетные записи в ...
Django лучше всего подходит для разработки с чистого листа, когда проект запускается с нуля. Тем не менее интеграция фреймворка с унаследованными базами данных и приложениями вполне возможна. В этой главе мы рассмотрим несколько стратегий такой интеграции.Интеграция с унаследованной базой данныхУровень доступа к базам данных в Django генерируют SQL-схемы, опираясь на ...
Подсистема переадресации в Django позволяет управлять переадресацией, сохраняя необходимую информацию в базе данных в виде обычных объектов модели. Например, можно сказать фреймворку Django: «Переадресуй любой запрос к /music/ на /sections/arts/music/». Это удобно, когда требуется изменить структуру сайта: веб-разработчик обязан принимать все меры к тому, чтобы не было «битых» ссылок.Использование подсистемы ...
Кэширование в Django
Опубликовано Воскресенье, Февраль 12, 2012 - admin. В рубрике Django Метки: CACHE_BACKEND, Django, Memcached, данных, кэширования, механизм, памяти
Что является фундаментальным свойством динамических веб-сайтов? Правильно, динамичность. При каждом обращении к странице сервер производит самые разные вычисления - запросы к базе данных, отображение шаблонов и другие операции, - чтобы создать визуальный образ, видимый клиенту. С точки зрения накладных расходов это получается гораздо дороже, чем обычное чтение файла с диска.Для ...
Прямое выполнение SQL-запросов Django
Опубликовано Воскресенье, Февраль 5, 2012 - admin. В рубрике Django Метки: connection, cursor, Django, first_name, данных, доступа
Интерфейс доступа к базе данных в Django имеет определенные ограничения, поэтому иногда возникает необходимость напрямую обратиться к базе данных с SQL-запросом. Это легко сделать с помощью объекта django.db.connection, который представляет текущее соединение с базой данных. Чтобы воспользоваться им, вызовите метод connection. cursor() для получения объекта-курсора, затем метод cursor.execute(sql, ) - ...
В главе 5, рассказывая о команде syncdb, мы отметили, что она создает таблицы, еще не существующие в базе данных, но не синхронизирует изменения в модели и не удаляет таблицы при удалении моделей. После добавления нового или изменения существующего поля в модели, а также после удаления самой модели вам придется вручную ...