2011-03-28 88 views
1

我有一个视图&模板,它显示项目类型的列表。这是可以的,但不是显示该客户端的所有不同类型的项目。我想要做的是单独显示类型的列表Django查询问题

例如,如果某个项目的类型存储为“常规”。我想显示所有只有一种叫做“常规”的类型的项目。

查看

def client_summary(request, client_id): 
     client = None 
     items = None 
    try: 
     client = models.Client.objects.get(pk = client_id) 
     items = client.storageitem_set.all() 
     total_items = items.count() 
     except: 
      return HttpResponse(reverse(return_clients)) 
     return render_to_response('client_summary.html', {'items':items, 'total_items':total_items, 'client':client}, context_instance = RequestContext(request)) 

模板

Summary for {{client.name}} 
Total Number of Items: {{total_items}} 
{%for item in items} 
     {{item.type}} 
{%endfor%} 

回答

1

你可以试试`client.storageitem_set.filter(类型= YOUR_TYPE):

def client_summary(request, client_id): 
    client = None 
    items = None 
    try: 
     client = models.Client.objects.get(pk = client_id) 
     items = client.storageitem_set.filter(type="General") 
     total_items = items.count() 
     except: 
      return HttpResponse(reverse(return_clients)) 
     return render_to_response('client_summary.html', {'items':items, 'total_items':total_items, 'client':client}, context_instance = RequestContext(request)) 

文档:Following relationships backwards

+0

虽然只会允许一种类型?我想他想列出所有可能存在的类型 – 2011-03-28 12:44:19

+0

是的,但他可以使用__in查询,这个想法是阅读文档:) – 2011-03-28 12:50:05

+0

其实这就是我想要的。这确实有用。问题是每种类型都有一个数字。所以它会抱怨价值不是一个整数。 – Shehzad009 2011-03-28 14:03:23

8

所以像你想要regroup类型。