使用定义的model_form在admin change_form中呈现其他表单

时间:2019-05-07 11:44:55

标签: django django-forms django-admin

我们正在尝试构建自定义工作流,以借助django-admindjango-admin-json-editor比较数据库的条目。 尽管运行一种表单很容易,但是我们真的不知道如何呈现具有相同布局但queryset-object不同的另一种表单。

我们已经将第二个查询的内容添加到了管理员模型的extra_content函数的change_view中。

    def change_view(self, request, object_id, form_url='', extra_context=None):
    chosen_object = Community.objects.get(pk=object_id)
    updated_object = Community.objects.get(community_id=chosen_object.community_id, community_updated=True)
    extra_context = extra_context or {}
    extra_context['community_data_queryobject'] = updated_object
    extra_context['community_update'] = updated_object.community_updated
    return super().change_view(
        request, object_id, form_url, extra_context=extra_context,
    )

我们正在使用自定义的change_form.html模板,在这里我们可以看到extra_context-但是我们没有任何真正的线索可以使用model/widgets创建第二个表单正确处理数据。

表格:

class CommunityForm(ModelForm):

class Meta:
    model = Community
    fields = '__all__'
    widgets = {
        'president': JSONEditorWidget(person_schema.person_schema, editor_options=options),
        'directorate': JSONEditorWidget(person_schema.person_schema, editor_options=options),
        'synagogue': JSONEditorWidget(synagoge_schema.synagogue_schema, editor_options=options),
        'rabbi': JSONEditorWidget(rabbi_schema.rabbi_schema, editor_options=options),
    }

0 个答案:

没有答案