Django 无法将上下文变量添加到change_视图中,因为extra_上下文不是字典
我想在ModelAdmin.change_view()上添加一个字段来过滤内联对象 基于此,我尝试向其中注入额外的上下文:Django 无法将上下文变量添加到change_视图中,因为extra_上下文不是字典,django,django-admin,django-1.7,Django,Django Admin,Django 1.7,我想在ModelAdmin.change_view()上添加一个字段来过滤内联对象 基于此,我尝试向其中注入额外的上下文: class ProcessAdmin(admin.ModelAdmin): inlines = [StepInline,] exclude = ('steps',) prepopulated_fields = {'name_slug': ('name',)} def change_view(self, request, extra_cont
class ProcessAdmin(admin.ModelAdmin):
inlines = [StepInline,]
exclude = ('steps',)
prepopulated_fields = {'name_slug': ('name',)}
def change_view(self, request, extra_context=None):
print(extra_context)
extra = extra_context or {}
extra['filter_form'] = FilterForm()
return super(ProcessAdmin, self).change_view(request, extra_context=extra)
不幸的是,方法变量extra_context
是一个unicode字符串,django会引发:
TypeError, Exception Value: 'unicode' object does not support item assignment
在调用/admin/core/process/5/
时
是否可以将对象id插入额外上下文字典以插入表单进行筛选?该方法具有不同的签名:
def change_view(self, request, object_id, form_url='', extra_context=None):
extra = extra_context or {}
extra['filter_form'] = FilterForm()
return super(ProcessAdmin, self).change_view(request, object_id,
form_url, extra_context=extra)
该方法具有不同的签名:
def change_view(self, request, object_id, form_url='', extra_context=None):
extra = extra_context or {}
extra['filter_form'] = FilterForm()
return super(ProcessAdmin, self).change_view(request, object_id,
form_url, extra_context=extra)
谢谢,是我的错。有不同的方法参数。谢谢,我的错。具有不同的方法参数。