Django管理员保存相关模型,更改额外和预填充内联字段

时间:2016-04-18 13:48:57

标签: python django python-3.x django-admin

我正在创建一个基于Django管理应用程序的Django应用程序,我花了很多时间做任务但没有成功,我希望有人给我建议完成我的工作:

我有一个管理员父模型和两个相关模型管理员

class FirstChildModelAdmin(admin.TabulareInline):
    model = FirstChildModel
    # ...

class SecondChildModelAdmin(admin.TabulareInline):
    model = SecondChildModel
    # ...
class ParentModelAdmin(admin.ModelAdmin):
    model = ParentModel
    inlines = [FirstChildModelAdmin, SecondChildModelAdmin]
    # ...

在admin change_view中,如果我点击保存并继续编辑按钮,我需要为SecondChildModel生成多个内联表单(通过覆盖InlineModelAdmin.get_extra方法)

因此,在我的 admin.py 中,我尝试为SecondChildModelAdmin创建自定义formset,如Admin inline forms initial data for every instance所述,但未达到我想要的效果。

这是我的自定义表单集:

class CustomModelInlineFormset(BaseInlineFormSet):
    model = SecondChildModel

def __init__(self, *args, **kwargs):
    super(CustomModelInlineFormset, self).__init__(*args, **kwargs)
    print("custom formset")
    if 'files' in kwargs:
        # Here some code to retrieve files content

        self.initial = [{'fiedl_one': 'some_content', 'fiedl_one': '...'}, {....}]

这是我的问题:如何生成SecondChildModel的多个内联表单并从FirstChildModel上选择的内容文件填充其字段?有可能吗?

我将感激任何帮助

由于

0 个答案:

没有答案