Модельное справочное руководство
wagtail.models разделен на подмодули для обеспечения поддерживаемости. Все определения, предназначенные для публичного использования, должны импортироваться сюда (с комментариями «noqa», если необходимо), а внешний код должен продолжать импортировать их из wagtail.models (например, from wagtail.models import Site, а не from wagtail.models.sites import Site.)
Подмодули должны следить за согласованностью направления зависимостей; по возможности, они должны реализовывать низкоуровневую общую функциональность, которая затем импортируется моделями более высокого уровня, такими как Page.
Этот документ содержит справочную информацию по классам моделей внутри модуля wagtailcore.
Page
Поля базы данных
Методы и свойства
В дополнение к полям модели, Page имеет множество свойств и методов, которые вам, возможно, захочется использовать, сослаться на них или переопределить при создании собственных моделей.
Примечание
См. также API узлов https://django-treebeard.readthedocs.io/en/latest/api.html в документации django-treebeard. Page является подклассом узлов дерева с материализованным путем материализованного пути.
Site
Модель Site полезна для многосайтовых установок, поскольку она позволяет администратору настраивать часть дерева, используемую для каждого хост-имени, на котором отвечает сервер.
Функция find_for_request() возвращает объект Site, который будет обрабатывать данный HTTP-запрос.
Поля базы данных
Методы и свойства
Locale
Модель Locale определяет набор языков и/или локалей, которые могут использоваться на сайте. Каждая запись Locale соответствует «коду языка», определённому в настройке :ref:wagtail_content_languages_setting.
Wagtail изначально настроит один Locale в качестве языка по умолчанию для всего существующего контента. Этот первый язык автоматически получит значение из WAGTAIL_CONTENT_LANGUAGES, наиболее близкое к коду языка сайта по умолчанию, определенному в LANGUAGE_CODE. Если первичный код языка будет изменён позже, Wagtail не будет автоматически создавать новую запись Locale или обновлять существующую.
До активации международной поддержки все страницы используют этот первичный Locale язык. Это необходимо для удовлетворения ограничений базы данных и упрощает включение международной поддержки в более позднее время.
Изменение WAGTAIL_CONTENT_LANGUAGES
Языки могут быть добавлены или удалены из WAGTAIL_CONTENT_LANGUAGES со временем.
Прежде чем удалять опцию из WAGTAIL_CONTENT_LANGUAGES, важно, чтобы запись Locale была обновлена на использование другого языка контента или была удалена. Любые экземпляры Locale с недопустимыми языками контента автоматически отфильтровываются из всех запросов к базе данных, что делает их нередактируемыми и невидимыми.
Методы и свойства
TranslatableMixin
TranslatableMixin — это абстрактная модель, которую можно добавить к любой модели Django, не являющейся страницей, чтобы сделать её переводимой. Страницы уже включают этот миксин, поэтому добавлять его не нужно.
Поля базы данных
Поля locale и translation_key имеют уникальное ограничение ключа, чтобы предотвратить перевод объекта на один и тот же язык более одного раза.
Методы и свойства
PreviewableMixin
PreviewableMixin — это миксин-класс, который можно добавить к любой модели Django, не являющейся страницей, чтобы разрешить предварительный просмотр её экземпляров. Страницы уже включают этот миксин, поэтому добавлять его не нужно.
Добавлено в версии 4.0: Класс добавлен, чтобы разрешить сниппетам иметь живой предварительный просмотр в редакторе. Подробности см. в Разрешение предварительного просмотра сниппетов.
Методы и свойства
RevisionMixin
RevisionMixin — это абстрактная модель, которую можно добавить к любой модели Django, не являющейся страницей, чтобы разрешить сохранение версий её экземпляров. Страницы уже включают этот миксин, поэтому добавлять его не нужно.
Добавлено в версии 4.0: Модель добавлена, чтобы разрешить сниппетам сохранять версии, отменять изменения до предыдущей версии и сравнивать изменения между версиями. Подробности см. в Сохранение версий сниппетов.
Поля базы данных
Методы и свойства
DraftStateMixin
DraftStateMixin — это абстрактная модель, которую можно добавить к любой модели Django, не являющейся страницей, чтобы разрешить её экземплярам иметь не опубликованные изменения. Этот миксин требует применения RevisionMixin. Страницы уже включают этот миксин, поэтому добавлять его не нужно.
Добавлено в версии 4.0: Модель добавлена, чтобы разрешить сниппетам иметь изменения, которые не сразу отражаются в экземпляре. Подробности см. в Сохранение черновиков изменений сниппетов.
Поля базы данных
Методы и свойства
Revision
Каждый раз, когда страница редактируется, создается и сохраняется новая Revision. Она может использоваться для поиска всей истории изменений, внесенных в страницу, а также для хранения новых изменений до публикации.
- Ревизии могут быть созданы из любого экземпляра
RevisionMixinвызовом его методаsave_revision(). - Содержимое страницы сериализуется в формате JSON и хранится в поле
content. - Вы можете получить
Revisionкак экземпляр модели объекта, вызвав методas_object().
Изменено в версии 4.0: Модель переименована из PageRevision в Revision и теперь ссылается на модель Page с помощью GenericForeignKey.
Поля базы данных
Менеджеры
Методы и свойства
GroupPagePermission
Поля базы данных
PageViewRestriction
Поля базы данных
Orderable (абстрактный)
Поля базы данных
Workflow
Рабочие процессы представляют собой последовательность задач, которые должны быть одобрены для выполнения действия со страницей — как правило, публикации.
Поля базы данных
Методы и свойства
WorkflowState
Состояния рабочего процесса представляют собой статус запущенного рабочего процесса на странице.
Поля базы данных
Методы и свойства
Task
Задачи представляют собой этапы в рабочем процессе, которые должны быть одобрены для успешного завершения рабочего процесса.
Поля базы данных
Методы и свойства
TaskState
Состояния задач хранят информацию о состоянии выполнения задачи на конкретной ревизии страницы.
Поля базы данных
Методы и свойства
WorkflowTask
Представляет порядок задачи в определенном рабочем процессе.
Поля базы данных
WorkflowPage
Представляет назначение рабочего процесса странице и её потомкам.
Поля базы данных
BaseLogEntry
Абстрактный базовый класс, представляющий запись о действии, выполненном над объектом.
Поля базы данных
Методы и свойства
PageLogEntry
Представляет запись о действии, выполненном над Page, подкласс BaseLogEntry.
Поля базы данных
Comment
Представляет собой комментарий к странице.
Поля базы данных
CommentReply
Представляет ответ на комментарий в потоке комментариев.
Поля базы данных
PageSubscription
Представляет подписку пользователя на уведомления по электронной почте о событиях на странице. В настоящее время используется только для уведомлений о комментариях.
Поля базы данных
© 2014-present Torchbox Ltd and individual contributors.
All rights are reserved.
Licensed under the BSD License.
https://docs.wagtail.org/en/stable/reference/pages/model_reference.html