星际旅行
wagtail-treemodeladmin的Python项目详细描述
wagtail treemodeladmin
wagtail treemodeladmin是wagtail的ModelAdmin的一个扩展,它允许在wagtail管理中像页面浏览器一样导航django模型关系。
依赖关系
- Python2.7+,3.6+
- Django 1.11+,2.0+
- 摇尾1.13+,2.0+
安装
- 安装wagtail treemodeladmin:
pip install wagtail-treemodeladmin
- 添加
treemodeladmin
(如果尚未添加wagtail.contrib.modeladmin
)作为django中的已安装应用settings.py
:
INSTALLED_APPS=(...'wagtail.contrib.modeladmin','treemodeladmin',...)
概念
wagtail treemodeladmin允许wagtail页面浏览器式的django一对多关系导航。在这个过程中,它将django^{ForeignKey
关系的目标to
,子对象是关系的源。
wagtail treemodeladmin是Wagtail's ModelAdmin的扩展。它的用途与ModelAdmin
完全相同。
用法
快速启动
要使用wagtail treemodeladmin,首先需要定义一些将在wagtail管理中公开的模型。
# libraryapp/models.pyfromdjango.dbimportmodelsclassAuthor(models.Model):name=models.CharField(max_length=255)classBook(models.Model):author=models.ForeignKey(Author,on_delete=models.PROTECT)title=models.CharField(max_length=255)
然后创建TreeModelAdmin
子类,并使用modeladmin_register
:
# libraryapp/wagtail_hooks.pyfromwagtail.contrib.modeladmin.optionsimportmodeladmin_registerfromtreemodeladmin.optionsimportTreeModelAdminfromlibraryapp.modelsimportAuthor,BookclassBookModelAdmin(TreeModelAdmin):model=Bookparent_field='author'@modeladmin_registerclassAuthorModelAdmin(TreeModelAdmin):menu_label='Library'menu_icon='list-ul'model=Authorchild_field='book_set'child_model_admin=BookModelAdmin
然后访问wagtail管理员。Library
将出现在菜单中,并将为您提供一个作者列表,每个作者都有一个链接,可将您带到他们的书籍。
API
wagtail treemodeladmin在modeladmin子类上使用三个新属性来表示父/子关系:
任何TreeModelAdmin
子类都可以指定父关系和子关系。树的根(包含在ModelAdminGroup
子类或@modeladmin_register
edTreeModelAdmin
子类中的TreeModelAdmin
)应该只包含child_*
字段。
获取帮助
请将问题添加到issue tracker。
参与
关于如何贡献的一般说明可以在CONTRIBUTING中找到。