Python ';QCombination';对象是不可编辑的
我在执行查询时遇到问题,因为它会给我带来错误。但是如果从控制台django运行,我会正确返回结果 在python shell中(python manage.py shell) 错误:“QCombination”对象不可编辑Python ';QCombination';对象是不可编辑的,python,django,Python,Django,我在执行查询时遇到问题,因为它会给我带来错误。但是如果从控制台django运行,我会正确返回结果 在python shell中(python manage.py shell) 错误:“QCombination”对象不可编辑 Traceback: File "[..]/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 115. response = callback(request, *cal
Traceback:
File "[..]/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
115. response = callback(request, *callback_args, **callback_kwargs)
File "[..]/api/views.py" in search
84. Q(username__contains='lucas') | Q(name__contains='lucas')
File "[..]/lib/python2.7/site-packages/django/db/models/manager.py" in filter
155. return self.get_query_set().filter(*args, **kwargs)
File "[..]lib/python2.7/site-packages/django/db/models/query.py" in filter
669. return self._filter_or_exclude(False, *args, **kwargs)
File "[..]lib/python2.7/site-packages/django/db/models/query.py" in _filter_or_exclude
687. clone.query.add_q(Q(*args, **kwargs))
File "[..]lib/python2.7/site-packages/django/db/models/sql/query.py" in add_q
1271. can_reuse=used_aliases, force_having=force_having)
File "[..]lib/python2.7/site-packages/django/db/models/sql/query.py" in add_filter
1066. arg, value = filter_expr
Exception Type: TypeError at /v1/search/as/
Exception Value: 'QCombination' object is not iterable
既然没人接,我就试试看。确保导入正确的
用户
。在中,它是这样导入的:
from django.contrib.auth.models import User
我们可以看到您在shell中使用api.models导入用户中的
,但我们看不到如何在视图中导入用户
。我知道它可以在shell中使用“坏”导入,但仍然要确保在这两种情况下都使用正确的导入,并告诉我们结果。如果它仍然不起作用,我不知道,对不起 就像@Nil所说的,但是在views.py中检查Q导入。它可能不是django.db.models.Q
在shell中,它不是相同的查询。您是否在shell中尝试过Q(username\u包含='lucas')|Q(name\u包含='lucas')
?是相同的。在views.pyQ(username\uu包含class='lucas')-错误'Q'对象不可编辑
。在shellQ(用户名包含class='lucas')| Q(名称包含class='lucas')
中没有错误!!:(@lucasmg,你还有同样的问题吗?是的。知道解决方案吗?你是个救命恩人!原来我在导入elasticsearch\u dsl.Q
Traceback:
File "[..]/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
115. response = callback(request, *callback_args, **callback_kwargs)
File "[..]/api/views.py" in search
84. Q(username__contains='lucas') | Q(name__contains='lucas')
File "[..]/lib/python2.7/site-packages/django/db/models/manager.py" in filter
155. return self.get_query_set().filter(*args, **kwargs)
File "[..]lib/python2.7/site-packages/django/db/models/query.py" in filter
669. return self._filter_or_exclude(False, *args, **kwargs)
File "[..]lib/python2.7/site-packages/django/db/models/query.py" in _filter_or_exclude
687. clone.query.add_q(Q(*args, **kwargs))
File "[..]lib/python2.7/site-packages/django/db/models/sql/query.py" in add_q
1271. can_reuse=used_aliases, force_having=force_having)
File "[..]lib/python2.7/site-packages/django/db/models/sql/query.py" in add_filter
1066. arg, value = filter_expr
Exception Type: TypeError at /v1/search/as/
Exception Value: 'QCombination' object is not iterable
from django.contrib.auth.models import User