Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 无法将上下文变量添加到change_视图中,因为extra_上下文不是字典_Django_Django Admin_Django 1.7 - Fatal编程技术网

Django 无法将上下文变量添加到change_视图中,因为extra_上下文不是字典

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

我想在ModelAdmin.change_view()上添加一个字段来过滤内联对象

基于此,我尝试向其中注入额外的上下文:

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)
谢谢,是我的错。有不同的方法参数。谢谢,我的错。具有不同的方法参数。