Python 在django视图中使用queryset Q时出错
我正在使用Q创建动态查询集 当我打印的时候Python 在django视图中使用queryset Q时出错,python,django,django-queryset,django-q,Python,Django,Django Queryset,Django Q,我正在使用Q创建动态查询集 当我打印的时候 build_query[:-1] 我得到了输出 Q(owner_id=1)|Q(assigned_to=1) 但是当用这个来 consultants = Consultant.objects.filter(*build_query[:-1]) 获取的错误值太多,无法解压缩 我用**和*试过了,但还是不起作用。 当我检查 print type(build_query[:-1]) 我得到了字符串类型。这是主要原因吗 回溯 Internal Serv
build_query[:-1]
我得到了输出
Q(owner_id=1)|Q(assigned_to=1)
但是当用这个来
consultants = Consultant.objects.filter(*build_query[:-1])
获取的错误值太多,无法解压缩
我用**和*试过了,但还是不起作用。
当我检查
print type(build_query[:-1])
我得到了字符串类型。这是主要原因吗
回溯
Internal Server Error: /api/consultants/my_consultants/
Traceback (most recent call last):
File "/home/jagmeet/consultadd_workspace/devenv/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/jagmeet/consultadd_workspace/devenv/local/lib/python2.7/site-packages/django/views/decorators/csrf.py", line 57, in wrapped_view
return view_func(*args, **kwargs)
File "/home/jagmeet/consultadd_workspace/devenv/local/lib/python2.7/site-packages/rest_framework/viewsets.py", line 85, in view
return self.dispatch(request, *args, **kwargs)
File "/home/jagmeet/consultadd_workspace/devenv/local/lib/python2.7/site-packages/rest_framework/views.py", line 451, in dispatch
response = self.handle_exception(exc)
File "/home/jagmeet/consultadd_workspace/devenv/local/lib/python2.7/site-packages/rest_framework/views.py", line 448, in dispatch
response = handler(request, *args, **kwargs)
File "/home/jagmeet/consultadd_workspace/devenv/ckiller/consultants/api.py", line 170, in my_consultants
consultants = Consultant.objects.filter(*build_query[:-1])
File "/home/jagmeet/consultadd_workspace/devenv/local/lib/python2.7/site-packages/django/db/models/manager.py", line 92, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
Q(owner_id=1)|Q(assigned_to=1)
File "/home/jagmeet/consultadd_workspace/devenv/local/lib/python2.7/site-packages/django/db/models/query.py", line 691, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "/home/jagmeet/consultadd_workspace/devenv/local/lib/python2.7/site-packages/django/db/models/query.py", line 709, in _filter_or_exclude
clone.query.add_q(Q(*args, **kwargs))
File "/home/jagmeet/consultadd_workspace/devenv/local/lib/python2.7/site-packages/django/db/models/sql/query.py", line 1331, in add_q
clause, require_inner = self._add_q(where_part, self.used_aliases)
consultants=Consultant.objects.filter(*build\u query[:-1])您是否尝试过:
Consultant.objects.filter(*[build_query[:-1],]))
args应该是一个列表