Найти - Пользователи
Полная версия: Доступ в шаблоне к полям связанной таблицы
Начало » Django » Доступ в шаблоне к полям связанной таблицы
1
alder
Доброго времени суток. Начал изучать Django и столкнулся с такой проблемой.
Есть связанные таблицы, и в шаблоне нужно вывести значение поля связанной таблицы

models.py:
from django.db import models
class Vis (models.Model):
    name = models.CharField(max_length = 30)
    desc = models.CharField(max_length=100)
    description = models.TextField()
    def __unicode__(self):
        return u'%s | %s' % (self.name, self.desc)
class Tov (models.Model):
    name = models.CharField(max_length = 30)
    ...
    visio = models.ManyToManyField(Vis)
 
В шаблон передается список tov_list = Tov.objects.all()
и в цыкле выводится
{% for item in tov_list %}
  {{item.name}} | {{#а здесь должно быть поле name модели Vis, например item.visio.name, но так не работает}}
{% endfor %}
Как в шаблоне вывести значение item.visio.name ?
barabansheg
Попробуй:
{% for item in tov_list %}
  {{item.name}} | {%  for vis in item.visio.all %} {{ vis.name }} {% endfor %}
{% endfor %}
но я не уверен что стработает
Sotneo
На поля ManyToMany нужно вызывать в шаблоне all для получения итератора
{% for item in tov_list.visio.all %}
  {{item.name}}
{% endfor %}
Должно работать
alder
Спасибо, получилось
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB