Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/333.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

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视图中使用queryset Q时出错_Python_Django_Django Queryset_Django Q - Fatal编程技术网

Python 在django视图中使用queryset 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

我正在使用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 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应该是一个列表