실행시 쿼리에 문제가 있습니다. 오류가 발생합니다. 'QCombination'콘솔 장고에서 실행하는 경우, 나는 파이썬 쉘에서 제대로'QCombination'개체가 반복 가능하지 않습니다
결과 (파이썬 manage.py 쉘)
>>> from api.models import User
>>> from django.db.models import Q
>>> User.objects.filter(Q(username__contains='lucas'))
[<User: @lucas>, <User: @lucasfuentes>, <User: @lucas_gasolero>]
views.py
def search(req, keyword):
users = User.objects.filter(
Q(username__contains='lucas') | Q(name__contains='lucas')
)
[..]
ERROR에서 반환 객체가 반복 가능하지 않습니다.
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
셸에서 동일한 쿼리가 아닙니다. 'Q (username__contains = 'lucas') | Q (name__contains = 'lucas')'? – warvariuc
동일합니다. views.py'Q (username__contains = 'lucas') - 오류 'Q'객체는 반복 가능하지 않습니다. 쉘'Q (username__contains = 'lucas') | Q (name__contains = 'lucas')'오류가 없습니다! ( – lucasmg
@lucasmg, 여전히 같은 문제가 있습니까? – Nil