我在Google上看到了很多与同一错误相关的答案,但没有一个对我的情况有用。
models.py
from django.db import models
from django.db import models
class Score(models.Model):
id = models.IntegerField(primary_key=True)
date = models.DateField()
team = models.CharField(max_length=100)
opposition = models.CharField(max_length=100)
venue = models.CharField(max_length=100)
inning = models.IntegerField()
batsman = models.CharField(max_length=100)
bowler = models.CharField(max_length=100)
overs = models.FloatField()
runs = models.IntegerField()
wicket = models.IntegerField()
class Meta:
managed = False
db_table = 'ipl'
查询
result = Score.objects.filter(query)
query = Q(team__in=['Kings XI Punjab']) | Q(opposition__in=['Kings XI Punjab']),venue__in=['Punjab Cricket Association Stadium, Mohali'],inning__in=[1, 2],wicket__in=['0']
我在django shell中运行了相同的查询,它给了我结果。但是,当我从views.py运行此查询时,出现此错误。
错误
Internal Server Error: /
Traceback (most recent call last):
File "/Users/shmitra/code/personal/cricketscreener/venv/lib/python3.7/site-packages/django/core/handlers/exception.py", line 34, in inner
response = get_response(request)
File "/Users/shmitra/code/personal/cricketscreener/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 115, in _get_response
response = self.process_exception_by_middleware(e, request)
File "/Users/shmitra/code/personal/cricketscreener/venv/lib/python3.7/site-packages/django/core/handlers/base.py", line 113, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/Users/shmitra/code/personal/cricketscreener/app/views.py", line 30, in home
result = Score.objects.filter(query)
File "/Users/shmitra/code/personal/cricketscreener/venv/lib/python3.7/site-packages/django/db/models/manager.py", line 82, in manager_method
return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/Users/shmitra/code/personal/cricketscreener/venv/lib/python3.7/site-packages/django/db/models/query.py", line 892, in filter
return self._filter_or_exclude(False, *args, **kwargs)
File "/Users/shmitra/code/personal/cricketscreener/venv/lib/python3.7/site-packages/django/db/models/query.py", line 910, in _filter_or_exclude
clone.query.add_q(Q(*args, **kwargs))
File "/Users/shmitra/code/personal/cricketscreener/venv/lib/python3.7/site-packages/django/db/models/sql/query.py", line 1292, in add_q
clause, _ = self._add_q(q_object, self.used_aliases)
File "/Users/shmitra/code/personal/cricketscreener/venv/lib/python3.7/site-packages/django/db/models/sql/query.py", line 1320, in _add_q
split_subq=split_subq, simple_col=simple_col,
File "/Users/shmitra/code/personal/cricketscreener/venv/lib/python3.7/site-packages/django/db/models/sql/query.py", line 1189, in build_filter
arg, value = filter_expr
ValueError: too many values to unpack (expected 2)
答案 0 :(得分:0)
您应该做result = Score.objects.filter(**query)