我已经编写了一个视图,在点击进入特定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')