django管理扩展,允许您将多个内联类混合在一起并重新排序

django-merged-inlines的Python项目详细描述


Build StatusCoverage StatusPyPI version

合并的内联线

合并内联是一个django应用程序,允许您合并多个内联 模型变成一个单一的形式。如果您需要 将多个作者的顺序混合在一起,因此 管理面板可以如下所示:

  • 诗1的内联
  • 诗2的内联
  • 第1册的内联
  • 诗3的内联
  • 第2册的内联

而不是:

  • 诗1的内联
  • 诗2的内联
  • 诗3的内联
  • 第1册的内联
  • 第2册的内联

安装

使用pip安装:

pip install django-merged-inlines

快速启动

  1. 将“合并的嵌入式”添加到您的已安装应用程序设置中:
INSTALLED_APPS = (
    ....
    'merged_inlines'
)
  1. 在添加合并内联的应用程序的admin.py文件中, 添加:
from merged_inlines.admin import MergedInlineAdmin
  1. 使您的管理类成为 合并inlineadmin,并像平常一样添加内联类:
class MyFirstInline(admin.TabularInline):
    pass

class MySecondInline(admin.TabularInline):
    pass

class MyModelAdmin(MergedInlineAdmin):
    inlines = [MyFirstInline,MySecondInline]

admin.site.register(MyModel,MyModelAdmin)

请注意,无论使用什么内联类(tabularinline或 stackedinline),合并的内联线当前仅呈现为表格 内联。

选项

合并字段顺序

您可以在MergedInLineAdmin类中使用合并字段顺序来设置 字段的顺序。列表/类型必须包含 将在管理中可编辑:若要从表单集中排除字段,请使用 内置modeladminexclude函数。

class MyInline(admin.TabularInline):
    exclude = ('my_unwanted_field')

class MyModelAdmin(MergedInlineAdmin):
    inlines = [MyInline]

    merged_field_order = ('put_this_field_first','followed_by_this_field','and_then_this_one')

合并的内嵌顺序

此选项确定将使用哪个字段对合并的 内联模型。共享模型必须都有共享字段, 否则将引发异常。如果未指定字段,id 将被使用。

class BookInline(admin.TabularInline):
    model = Book

class PoemInline(admin.TabularInline):
    model = Poem

class AuthorAdmin(MergedInlineAdmin):
    merged_inline_order = 'year'

版本历史记录

  • 1.0-增加了完整的测试覆盖范围。移动到django 1.7+兼容性, 与django<;1.7的兼容性降低。
  • 0.2-修复了id排序和js问题,感谢@kotyy
  • 0.1-初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
反射Java getMethod()会导致NoSuchMethodException错误   编译器构造Java编译时错误:解析时到达文件末尾   java我无法使用Spring Boot从应用程序引擎中的服务连接到Google数据存储   java单一注销配置文件Idp注销问题   regex如何在java中编写和使用正则表达式   java Android:单击标签打开电子邮件应用程序   java如何确保函数执行函数的整个检查?   java如何将字母数字电话号码转换为数字   listview更改中项目内部的java ImageView   java将空对象转换为整数   对等端重置java Google Drive SDk连接   在java程序中测试未授权的隐藏测试(代码战)