Spec-Zone.ru › Wagtail 2

Настраиваемая модель документа

Можно использовать альтернативную Document модель, чтобы добавить пользовательское поведение и дополнительные поля.

Для этого в проекте необходимо выполнить следующие шаги:

  • Создайте новую модель документа, которая наследуется от wagtail.documents.models.AbstractDocument. В ней вы добавите дополнительные поля.
  • Укажите WAGTAILDOCS_DOCUMENT_MODEL на новую модель.

Вот пример:

# models.py
from wagtail.documents.models import Document, AbstractDocument

class CustomDocument(AbstractDocument):
    # Custom field example:
    source = models.CharField(
        max_length=255,
        blank=True,
        null=True
    )

    admin_form_fields = Document.admin_form_fields + (
        # Add all custom fields names to make them appear in the form:
        'source',
    )

Затем в модуле настроек:

# Ensure that you replace app_label with the app you placed your custom
# model in.
WAGTAILDOCS_DOCUMENT_MODEL = 'app_label.CustomDocument'

Миграция с встроенной моделью документа

При изменении существующего сайта на использование настраиваемой модели документа, документы не будут автоматически скопированы в новую модель. Копирование старых документов в новую модель необходимо выполнить вручную с помощью миграции данных.

Любые шаблоны, которые ссылаются на встроенную модель документа, по-прежнему будут работать как раньше.

Обращение к модели документа

  • Предыдущие Документы
  • Следующие Генерация заголовков при загрузке

Содержание страницы

  • Настраиваемая модель документа
    • Обращение к модели документа

© 2014-present Torchbox Ltd and individual contributors.
All rights are reserved.
Licensed under the BSD License.
https://docs.wagtail.org/en/v2.16.3/advanced_topics/documents/custom_document_model.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API