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
Python Django列表\过滤器查询集返回,ValueError:要解压缩的值太多_Python_Django - Fatal编程技术网

Python Django列表\过滤器查询集返回,ValueError:要解压缩的值太多

Python Django列表\过滤器查询集返回,ValueError:要解压缩的值太多,python,django,Python,Django,我正在站点管理应用程序django中为在数组字段中包含Specified值的用户构建一个自过滤器。但我很抱歉无法实现,因为返回错误 这是我的模型: class Profile(Model): """ Profile """ code = CharField( max_length = 32, verbose_name = (_(u"Código")), blank = True, ) user = ForeignKey(User, verbose_name = (

我正在站点管理应用程序django中为在数组字段中包含Specified值的用户构建一个自过滤器。但我很抱歉无法实现,因为返回错误

这是我的模型:

class Profile(Model):
"""
Profile
"""
code = CharField(
    max_length = 32,
    verbose_name = (_(u"Código")),
    blank = True,
)
user = ForeignKey(User,
    verbose_name = (_('Usuario')),
    related_name = 'profile',
    blank = False,
    unique = True,
)
country = CountryField(
    verbose_name = (_(u"País")),
    blank = False,
    default = 'CO',
)
preferences = CharField(
    max_length = 500,
    verbose_name = (_(u"Preferencias")),
    blank = True,
)
etc...
这是该型号的管理员注册表:

class ProfileAdmin(ExportMixin, ModelAdmin):

list_display = (
    'id',
    'user',
    'first_name',
    'last_name',
    'country',
    'isTeacher',
    'purchased',
    'purchasedDetails',
    'referred',
    'moneySpent',
    'likesCount',
    'created',
    'preferences',
)

list_filter = (
    'country',
    'referred',
    PreferencesFilter,
)

search_fields = (
    'user__username',
    'user__first_name',
    'user__last_name',
)
site.register(Profile, ProfileAdmin)
其中首选过滤器功能为:

class PreferencesFilter(SimpleListFilter):
title = _('Preferencias')
parameter_name = 'preferencias'

def lookups(self, request, model_admin):
    return [PREFERENCES1 + PREFERENCES2]

def queryset(self, request, queryset):
    if not self.value():
        return queryset


    return queryset.filter(preferences__contains=[self.value()])
首选项1和首选项2的值为:

PREFERENCES1 = (
   ('Croché', 'Croché'),
   ('Patchwork', 'Patchwork'),
   ('Muñecos decorativos', 'Muñecos decorativos'),
   ('Tejido dos agujas', 'Tejido dos agujas')
)

PREFERENCES2 = (
   ('Arreglos florales', 'Arreglos florales'),
   ('Peinados', 'Peinados'),
   ('Decoración de uñas', 'Decoración de uñas')
)
但当我使用该过滤器进行搜索时,应用程序会返回此stacktrace:

 Template error:
 In template /env/local/lib/python2.7/site-packages/suit/templates/admin/search_form.html, error at line 17
  too many values to unpack
   7 :         {% if cl.search_fields %}
   8 :           <input type="text" size="40" name="{{ search_var }}" value="{{ cl.query }}" id="searchbar" placeholder="{% block search_placeholder %}{% trans 'keyword'|capfirst %}{% endblock %}"{{ cl.query|yesno:' class=active,' }}>&nbsp;
   9 :           <script type="text/javascript">document.getElementById("searchbar").focus();</script>
   10 :         {% endif %}
   11 :         {% spaceless %}
   12 :           {% if cl.has_filters %}
   13 :             {% block filters %}
   14 :               {% if cl.has_filters %}
   15 :                 <span class="search-filters">
   16 :                 {% for spec in cl.filter_specs %}
   17 :                    {% suit_list_filter_select cl spec %} 
   18 :                   &nbsp;
   19 :                 {% endfor %}
   20 :                 </span>
   21 :               {% endif %}
   22 :             {% endblock %}
   23 :           {% endif %}
   24 :         {% endspaceless %}
   25 : 
   26 :         <input type="submit" value="{% trans 'Search' %}" class="btn btn-info"/>
   27 :         &nbsp;

Traceback:
File "/env/local/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
137. response = response.render()
File "/env/local/lib/python2.7/site-packages/django/template/response.py" in render
105. self.content = self.rendered_content
File "/env/local/lib/python2.7/site-packages/django/template/response.py" in rendered_content
82. content = template.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
140. return self._render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in _render
134. return self.nodelist.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
840.                 bit = self.render_node(node, context)
File "/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78.             return node.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
123.         return compiled_parent._render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in _render
134.         return self.nodelist.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
 840.                 bit = self.render_node(node, context)
File "/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
 78.             return node.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
 123.         return compiled_parent._render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in _render
134.         return self.nodelist.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
 840.                 bit = self.render_node(node, context)
File "env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
 78.             return node.render(context)
File "/home/kperez/Desarrollo/www.pleisi.com/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
 123.         return compiled_parent._render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in _render
 134.         return self.nodelist.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
840.                 bit = self.render_node(node, context)
File "/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78.             return node.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
62.             result = block.nodelist.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
840.                 bit = self.render_node(node, context)
File "/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78.             return node.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
62.             result = block.nodelist.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
840.                 bit = self.render_node(node, context)
File "/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78.             return node.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
62.             result = block.nodelist.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
840.                 bit = self.render_node(node, context)
File "/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78.             return node.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
62.             result = block.nodelist.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
840.                 bit = self.render_node(node, context)
File "/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78.             return node.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
1220.                     return self.nodelist.render(new_context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
840.                 bit = self.render_node(node, context)
File "/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78.             return node.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
305.                 return nodelist.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
840.                 bit = self.render_node(node, context)
File "/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78.             return node.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
389. return strip_spaces_between_tags(self.nodelist.render(context).strip())
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
840.                 bit = self.render_node(node, context)
File "/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78.             return node.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
305.                 return nodelist.render(context)
File "env/local/lib/python2.7/site-packages/django/template/base.py" in render
840.                 bit = self.render_node(node, context)
File "/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78.             return node.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/loader_tags.py" in render
53.             result = self.nodelist.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
840.                 bit = self.render_node(node, context)
File "/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78.             return node.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
305.                 return nodelist.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
840.                 bit = self.render_node(node, context)
File "/env/local/lib/python2.7/site-packages/django/template/debug.py" in render_node
78.             return node.render(context)
File "/env/local/lib/python2.7/site-packages/django/template/defaulttags.py" in render
196.                         nodelist.append(node.render(context))
File "/env/local/lib/python2.7/site-packages/django/template/base.py" in render
1125.                     return func(*resolved_args, **resolved_kwargs)
File "/env/local/lib/python2.7/site-packages/suit/templatetags/suit_list.py" in suit_list_filter_select
113.     choices = list(spec.choices(cl))
File "/env/local/lib/python2.7/site-packages/django/contrib/admin/filters.py" in choices
103.         for lookup, title in self.lookup_choices:

Exception Type: ValueError at /site/accounts/profile/
Exception Value: too many values to unpack
模板错误:
在template/env/local/lib/python2.7/site-packages/suit/templates/admin/search_form.html中,第17行出现错误
太多的值无法解压缩
7:{%if cl.search_fields%}
8 :            
9:document.getElementById(“搜索栏”).focus();
10:{%endif%}
11:{%spaceless%}
12:{%如果cl.has_filters%}
13:{%block filters%}
14:{如果cl.has_filters%}
15 :                 
16:{cl.filter_specs%}
17:{%suit_list_filter_select cl spec%}
18 :                    
19:{%endfor%}
20 :                 
21:{%endif%}
22:{%endblock%}
23:{%endif%}
24:{%endspaceless%}
25 : 
26 :         
27 :          
回溯:
get_响应中的文件“/env/local/lib/python2.7/site packages/django/core/handlers/base.py”
137response=response.render()
render中的文件“/env/local/lib/python2.7/site packages/django/template/response.py”
105self.content=自渲染内容
呈现内容中的文件“/env/local/lib/python2.7/site packages/django/template/response.py”
82content=template.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/base.py”
140返回self.\u呈现(上下文)
文件“/env/local/lib/python2.7/site packages/django/template/base.py”位于
134返回self.nodelist.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/base.py”
840bit=self.render_节点(节点,上下文)
render_节点中的文件“/env/local/lib/python2.7/site packages/django/template/debug.py”
78返回node.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/loader_tags.py”
123返回编译的\u父对象。\u呈现(上下文)
文件“/env/local/lib/python2.7/site packages/django/template/base.py”位于
134返回self.nodelist.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/base.py”
840bit=self.render_节点(节点,上下文)
render_节点中的文件“/env/local/lib/python2.7/site packages/django/template/debug.py”
78返回node.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/loader_tags.py”
123返回编译的\u父对象。\u呈现(上下文)
文件“/env/local/lib/python2.7/site packages/django/template/base.py”位于
134返回self.nodelist.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/base.py”
840bit=self.render_节点(节点,上下文)
render_节点中的文件“env/local/lib/python2.7/site packages/django/template/debug.py”
78返回node.render(上下文)
render中的文件“/home/kperez/desarrolo/www.pleisi.com/env/local/lib/python2.7/site packages/django/template/loader_tags.py”
123返回编译的\u父对象。\u呈现(上下文)
文件“/env/local/lib/python2.7/site packages/django/template/base.py”位于
134返回self.nodelist.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/base.py”
840bit=self.render_节点(节点,上下文)
render_节点中的文件“/env/local/lib/python2.7/site packages/django/template/debug.py”
78返回node.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/loader_tags.py”
62结果=block.nodelist.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/base.py”
840bit=self.render_节点(节点,上下文)
render_节点中的文件“/env/local/lib/python2.7/site packages/django/template/debug.py”
78返回node.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/loader_tags.py”
62结果=block.nodelist.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/base.py”
840bit=self.render_节点(节点,上下文)
render_节点中的文件“/env/local/lib/python2.7/site packages/django/template/debug.py”
78返回node.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/loader_tags.py”
62结果=block.nodelist.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/base.py”
840bit=self.render_节点(节点,上下文)
render_节点中的文件“/env/local/lib/python2.7/site packages/django/template/debug.py”
78返回node.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/loader_tags.py”
62结果=block.nodelist.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/base.py”
840bit=self.render_节点(节点,上下文)
render_节点中的文件“/env/local/lib/python2.7/site packages/django/template/debug.py”
78返回node.render(上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/base.py”
1220返回self.nodelist.render(新上下文)
render中的文件“/env/local/lib/python2.7/site packages/django/template/base.py”
840bit=self.render_节点(节点,上下文)
render_节点中的文件“/local/lib/python2.7/site packages/django/template/debug.py”
78返回
 return queryset.filter(preferences__contains=[self.value()])
return queryset.filter(preferences__contains=self.value())
def lookups(self, request, model_admin):

    newlist = list(PREFERENCES1)
    newlist.extend( list(PREFERENCES2)) 
    return newlist