跳转到主要内容

为Wagtail提供的TreeModelAdmin

项目描述

Wagtail-TreeModelAdmin

Build Status Coverage Status

TreeModelAdmin illustration with the books and authors example below

Wagtail-TreeModelAdmin是Wagtail的wagtail-modeladmin的扩展,允许在Wagtail管理界面中像页面浏览器一样导航Django模型关系。

依赖关系

它应该与所有中间版本兼容。如果您发现它不兼容,请提交问题

安装

  1. 安装wagtail-treemodeladmin
pip install wagtail-treemodeladmin
  1. treemodeladmin(如果尚未安装,则包括wagtail_modeladmin)添加到Django的settings.py中作为已安装的应用程序
INSTALLED_APPS = (
    ...
    'wagtail_modeladmin',
    'treemodeladmin',
    ...
)

概念

Wagtail-TreeModelAdmin 允许在Wagtail管理后台中像Wagtail页面探索器一样导航Django的一对多关系。在这个过程中,它将Django的ForeignKey关系概念化为父子关系。父级是ForeignKey关系的目标to,子级是关系的来源。

Wagtail-TreeModelAdmin 是 wagtail-modeladmin 的扩展。它打算被像 ModelAdmin 一样使用。

用法

快速入门

要使用Wagtail-TreeModelAdmin,您首先需要定义一些将在Wagtail管理后台中公开的模型。

# libraryapp/models.py

from django.db import models


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

class Book(models.Model):
    author = models.ForeignKey(Author, on_delete=models.PROTECT)
    title = models.CharField(max_length=255)

然后创建 TreeModelAdmin 子类,并使用 modeladmin_register 注册树的根。

# libraryapp/wagtail_hooks.py
from wagtail_modeladmin.options import modeladmin_register

from treemodeladmin.options import TreeModelAdmin

from libraryapp.models import Author, Book


class BookModelAdmin(TreeModelAdmin):
    model = Book
    parent_field = 'author'


@modeladmin_register
class AuthorModelAdmin(TreeModelAdmin):
    menu_label = 'Library'
    menu_icon = 'list-ul'
    model = Author
    child_field = 'book_set'
    child_model_admin = BookModelAdmin

然后访问Wagtail管理后台。在菜单中会有 Library,它将提供一个作者列表,每个作者都有一个链接,点击后将带您到他们的书籍。

API

Wagtail-TreeModelAdmin 在ModelAdmin子类上使用三个新的属性来表示父子关系

  • parent_field:子模型中Django ForeignKey 的名称。
  • child_field:Django ForeignKey 上的 related_name
  • child_model_admin

任何 TreeModelAdmin 子类都可以指定父亲和子级关系。树的根(无论是包含在 ModelAdminGroup 中的 TreeModelAdmin 还是使用 @modeladmin_register 注册的 TreeModelAdmin 子类)应仅包含 child_* 字段。

获取帮助

请向 问题跟踪器 添加问题。

参与其中

有关 如何 贡献的一般说明,请参阅 CONTRIBUTING

许可协议

  1. 术语
  2. 许可协议
  3. CFPB源代码策略

致谢和参考

  1. cfgov-refresh 分支出来

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源分发

wagtail_treemodeladmin-1.9.2.tar.gz (17.3 kB 查看散列值)

上传时间

构建分发

wagtail_treemodeladmin-1.9.2-py3-none-any.whl (20.4 kB 查看散列值)

上传时间 Python 3

由以下支持