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   在java中尝试播放音频时出现音频流错误。wav文件   用户界面如何在Java中禁用GUI按钮   在java中如何使用条件拆分字符串   java从一个方法在数组中设置,从另一个方法获取   java如何忽略“”而不是“”   java证书。木卫一。IOException:密钥库被篡改,或密码不正确   java Android onCreate不调用   在play framework(i18n)中未正确显示德语Umlautes的java显示   使用java从eclipse运行MacOSX命令的macos   java是检查数组中备用项的最有效方法   如何使用java流编写包含循环、if/else和返回语句的代码   为什么在Java中,循环内的声明似乎比循环外的声明更快?   java软件包不存在mvn clean install