【发布时间】:2012-12-13 19:05:46
【问题描述】:
我有两个类位置和供应商。供应商向一个或多个城市供应其产品。
class Location(models.Model):
cities = models.CharField(max_length=30)
class Supplier(models.Model):
name = models.CharField(max_length=100)
supplied_cities = models.ManyToManyField(Location)
现在我必须从城市列表中获取一个城市的所有供应商。 例如:如果点击伦敦,我应该得到所有与伦敦相关的供应商。我该怎么做?
Supplier.objects.filter(supplied_cities= 1)
上面的 shell 命令列出了来自城市 1 (int) 的所有供应商。但是我必须从网页中捕获城市名称并根据它进行过滤?
查看:
def my_view(request):
cityName = request.GET['place']
sellers = Supplier.objects.filter(supplied_cities= Location.objects.get(cities=cityName))
context = {'sellers' : sellers }
return render_to_response('results.html',context,context_instance=RequestContext(request))
模板:
{% for sellers in object_list %}
<li> {{ sellers.name }} </li>
{% endfor %}
【问题讨论】: