在我的Django项目中,我有一个模型,看起来是这样的:
class Tag_car(models.Model):
car = models.ForeignKey(Car)
tag = models.ForeignKey(Tag)
car
是ImageField的外键,tag
是TextField的外键。你知道吗
每辆车都有不止一个标签。 现在用户应该可以通过标签搜索特定的汽车。在我看来,我是这样做的:
…
search = request.POST.get('search')
cars = Tag_car.objects.filter(tag=search)
…
return render_to_response(page,context_instance=RequestContext(request, {'cars': cars}))
在我的模板中,我显示了所有的汽车,就像这样:
{% for car in cars %}
<img src="{{ MEDIA_URL }}{{ car.car }}">
{% endfor %}
一切正常。
但是现在我还想在模板的for循环中显示与每辆车相关的所有标记。当我做类似于{{ car.tag }}
的事情时,很明显,我只得到用户正在搜索的一个标记。
如何将每辆车的所有标签传递到视图中,然后将它们显示在每辆车上,我正在苦苦挣扎。
有人知道怎么做吗?
我感谢你的帮助。你知道吗
所以,问题是作为
cars
传递给模板的对象实际上是Tag_car
对象的列表。因此,为了获得与每辆车相关的其他标记的列表,您需要按照与该车的关系,然后查询其他标记:但是请注意,您应该首先查询Car对象,而不是标记车。另外,您的Tagècar模型实际上只是多对多关系的直通表,因此您可以在car模型上使用M2M字段,而不是显式地创建它:
迭代模板中的
car.tag.all
:另请参见:Traversing foreign key related tables in django templates
相关问题 更多 >
编程相关推荐