我有两个课程位置和供应商。供应商向一个或多个城市供应其产品。
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 %}