查询集的对象太多,无法解包django templateView中应为(2)



我已经编写了一个视图,在点击进入特定url的仪表板上显示打开、完成、接受和关闭的票证,并根据其状态切换模板,我正在查询票证状态,我得到以下错误

太多的对象无法解包(需要2个(

型号.py

class Modes(models.Model):

此查询导致错误。。。

Ticket.objects.filter('status')

您应该指定以下内容:

if Ticket.objects.filter(status='Opened'):
template_name = 'app/open_tickets.html')

此外,请检查逻辑。以上查询在get_template_name中没有意义。。。您应该根据请求获得一个模板。所以,若请求是"打开的",那个么您应该只得到"打开的"的模板。

假设如果您想获得"打开",您需要在查询中传递它并执行以下操作:

if self.request.GET.get('status', '') == 'Opened':
template_name = 'app/open_tickets.html')
def show(request,status):
if status.title() in ['O','A,'C','Cl']:
if status.title() == 'O':
models = Model.objects.filter(status='O')
else:
models = Model.objects.filter(status=status.title(),accepted_by=request.user)
templates = {'O':'p/op.html','A':'p/d.html','C':'p/pp.html','Cl:'a.html'}
return render(request,templates[status.title()],{'tickets':tickets})

在您的urls.py 中

path('models/<str:status>/',views.show,name='show')

最新更新