我们正在尝试构建自定义工作流,以借助django-admin
和django-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),
}