在我的Django的項目我有一個模型,看起來像:如何在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-loop中顯示與每輛車相關的所有標籤。當我做一些類似{{ car.tag }}
的事情時,我明顯地得到了用戶正在搜索的一個標籤。
我正在努力如何將每輛車的所有標籤都傳遞給視圖,然後爲每輛車顯示它們。
有沒有人有一個想法如何做到這一點?
我感謝您的幫助。
也通過使用'car.car.tag_set.all' for沒有輸入迴路。我擔心更改模型,因爲應用程序已在服務器上進行高效使用。 – almey
真的,你需要通過shell自己調查一下。使用'car = Tag_car.objects.filter(tag ='mytag')[0]'然後查看'car'和'car.car'的屬性。 –
謝謝。在我的'Car'-Model中,我不得不添加'tags = models.ManyToManyField(Tag,through ='Tag_car')'。然後,我可以在for循環中用'car.car.tags.all'訪問標籤。 – almey