在django管理中添加嵌套内联支持
django-nested-inlines的Python项目详细描述
#django嵌套内联
##我不是作者,我只是发表了阿兰·特林的作品,包括Silverfix的错误修复和改进。
##silverfix的错误修复和更改 -[inlines.js]修复了添加新嵌套时总表单数的严重错误 -[tabular.html]修复了嵌套表的外观(动态colspan处理) -[admin.py]修复了在内联不可删除的情况下使用它的异常 -[项目结构]删除inlines.min.js -[admin.py]nestedmodeladmin指向错误的js文件名 -[admin.py]修复了在clean()方法中跳过任何自定义验证的错误
##概述
[Django第9025期](http://code.djangoproject.com/ticket/9025)
修补程序已经提交,存储库分叉,但是没有人喜欢使用 两个都没有。现在,嵌套的内联在一个易于安装的包中可用。
###问题
此应用程序的javascript部分当前有错误。python部分 应该是实心的。请测试并提交问题并请求改进 它!
##安装
pip安装django嵌套的内联线
##用法
嵌套的inlines.admin包含三个子类以启用 嵌套内联支持:nestedmodeladmin,nestedstackedinline,以及 nestedtabularine。使用它们:
一。将嵌套的inline添加到安装的应用程序中 django.contrib.admin。这是因为此应用程序覆盖某些管理员 模板和媒体。 2。导入nestedmodeladmin,nestedstackedinline,以及nestedtabularinline 任何您想使用嵌套内联的地方。 三。在将包含嵌套内联的管理类上,使用nestedmodeladmin 而不是标准的modeladmin。 四。在内联类中,使用嵌套版本而不是标准版本。 5个。将inlines=[myinline,]属性添加到您的inlines中,并查看 奇迹发生了。
##示例
from django.contrib import admin from nested_inlines.admin import NestedModelAdmin, NestedStackedInline, NestedTabularInline from models import A, B, C
- class MyNestedInline(NestedTabularInline):
- model = C
- class MyInline(NestedStackedInline):
- model = B inlines = [MyNestedInline,]
- class MyAdmin(NestedModelAdmin):
- inlines = [MyInline,]
admin.site.register(A, MyAdmin)
##学分
这个包主要是其他开发人员的工作。我只拿了他们的 补丁和包装他们很好,以便于使用。学分为:
- Gargamel提供了Django机票上的基础补丁。
- Stefan Klug提供了一个应用了补丁的fork,并进行了错误修复。
参见[Stefan Klug的存储库](https://github.com/stefanklug/django/tree/nested-inline-support-1.5.x)。