为Wagtail提供的TreeModelAdmin
项目描述
Wagtail-TreeModelAdmin
Wagtail-TreeModelAdmin是Wagtail的wagtail-modeladmin的扩展,允许在Wagtail管理界面中像页面浏览器一样导航Django模型关系。
依赖关系
- Python 3.8+
- Django 3.2(LTS),4.1(当前)
- Wagtail 5.1+
- wagtail-modeladmin
它应该与所有中间版本兼容。如果您发现它不兼容,请提交问题。
安装
- 安装wagtail-treemodeladmin
pip install wagtail-treemodeladmin
- 将
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
:子模型中DjangoForeignKey
的名称。child_field
:DjangoForeignKey
上的related_name
。child_model_admin
任何 TreeModelAdmin
子类都可以指定父亲和子级关系。树的根(无论是包含在 ModelAdminGroup
中的 TreeModelAdmin
还是使用 @modeladmin_register
注册的 TreeModelAdmin
子类)应仅包含 child_*
字段。
获取帮助
请向 问题跟踪器 添加问题。
参与其中
有关 如何 贡献的一般说明,请参阅 CONTRIBUTING。
许可协议
致谢和参考
- 从 cfgov-refresh 分支出来
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解有关 安装包 的更多信息。
源分发
构建分发
wagtail_treemodeladmin-1.9.2.tar.gz 的散列值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e68a874844f54fbd774285a1d8b205c375efc0e9b72c3193aa7b6c527f09d852 |
|
MD5 | 37b2530bf10a8b9ac8caaa96c681d800 |
|
BLAKE2b-256 | edf30318280a5cb0dab879aad0c93ef17d0c957a613f49442a0e3b2ee163586b |
wagtail_treemodeladmin-1.9.2-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2c05a9487a835788e8ba6c0fac29e76b1150f19547d6abb5e76e5542b5ad3079 |
|
MD5 | 8fb85ce8fc471a5974f29e6fb6bec91a |
|
BLAKE2b-256 | 4ffd4f0687ce4f5c078e85e80ef6aab1f42c6180f4e989a325875fbe236852f6 |