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第三方库


热门话题
ArrayList中实体对象上的JAVA泛型   带Redis的爪哇芹菜vs单用Redis   java在设备面向横向时隐藏标题栏/通知栏   java JXTreeTable:如何使用ComponentProvider为一列设置渲染器   java创建异常的成本与记录异常的成本相比   java在方法参数中使用setter传递新对象   java在一个类中的方法与另一个类中的方法交互时遇到问题   java如何迭代2个大小相等的ArrayList   Java getDesktop()。open在Windows中工作,但在Mac中不工作   从tomcat切换到jetty后的java“无法启动嵌入式容器”,Spring引导   java如何使用void方法   java如何在解组时在JAXB的ValidationEventHandler中获取节点值?   如何使用Akka Java API创建不响应的TCP接收器   JavaScriptjQuery在java中将记录上传到数据库时的进度条   如何在重新绘制时在java小程序中显示上一个图像