Skip to main content

Model choosers for Wagtail admin

Project description

A plugin for Wagtail that provides a ModelChooserPanel and ModelChooserBlock for arbitrary models.

Installing

Install using pip:

pip install wagtail-modelchooser

Then add it to your INSTALLED_APPS:

INSTALLED_APPS = [
    # ...
    'wagtailmodelchooser',
    # ...
]

It works with Wagtail 1.4 and upwards.

Quick start

To enable the chooser for your model, you must register the model. For simple cases, decorate your model with @register_model_chooser:

from django.db import models

from wagtailmodelchooser import register_model_chooser


@register_model_chooser
class Author(models.Model):
    name = models.CharField(max_length=255)

    def __str__(self):
        # The ``str()`` of your model will be used in the chooser
        return self.name

You can then use either ModelChooserPanel in an edit handler definition, or ModelChooserBlock in a StreamField definition:

from wagtail.wagtailcore.blocks import RichTextBlock
from wagtail.wagtailcore.fields import StreamField
from wagtail.wagtailcore.models import Page
from wagtail.wagtailadmin.edit_handlers import FieldPanel, StreamFieldPanel
from wagtailmodelchooser.blocks import ModelChooserBlock
from wagtailmodelchooser.edit_handlers import ModelChooserPanel

class Book(Page):
    name = models.CharField(max_length=255)
    author = models.ForeignKey(Author)

    content_panels = [
        FieldPanel('name'),
        ModelChooserPanel('author'),
    ]

class ContentPage(Page):
    body = StreamField([
        ('text', RichTextBlock()),
        ('author', ModelChooserBlock('books.Author')),
    ])

    content_panels = [
        StreamFieldPanel('body'),
    ]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wagtail-modelchooser-0.3.1.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

wagtail_modelchooser-0.3.1-py2.py3-none-any.whl (12.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file wagtail-modelchooser-0.3.1.tar.gz.

File metadata

File hashes

Hashes for wagtail-modelchooser-0.3.1.tar.gz
Algorithm Hash digest
SHA256 63e9d847c5acaa8ebd8230765d5897977aa28ced2c33e009c3c7ea893eb50690
MD5 6414d9b403ee48191d33ece352d07d79
BLAKE2b-256 f45f74333cf6e67ec3e89b0ecfeb8f9a4bd7fa4562fc47d33499523c379355f3

See more details on using hashes here.

File details

Details for the file wagtail_modelchooser-0.3.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for wagtail_modelchooser-0.3.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f1d0cb36a9de4e51b469ee9efad506b9f2c094eaa8ce9e135a419162ea870a27
MD5 93c1e121119827fe5ebe3c8545234ad9
BLAKE2b-256 baf327aa6c2b867aa31eca04a204f1b05e4e3f890e6ad6abcc13a6c05f8e46fc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page