У меня всегда возникают проблемы при попытке выяснить, какие имена переменных доступны для использования в шаблоне.Мне интересно, есть ли что-то в оболочке, что я могу сделать, чтобы распечатать все доступные объекты.
Скажем, например, у вас есть две модели:
class Foo1(models.Model)
id = models.Integer(primary_key=True)
foo2 = models.ForeignKey(Foo2)
class Foo2(models.Model)
id = models.Integer(primary_key=True)
foo3 = models.Integer()
В оболочке я делаюp = Foo1.objects.all()
Так что теперь p
- это QuerySet всех значений, которые содержатся в Foo1
и Foo2
(из-за взаимосвязи).
Теперь в моем шаблоне, чтобы извлечь все эти данные, я обычно делал бы что-то вроде этого:
{% for i in p %}
<p>{{ i.id }}</p>
<p>{{ i.foo2.id }}</p>
<p>{{ i.foo2.foo3 }}</p>
{% endfor %}
Прямо сейчас я просто предполагаю, что синтаксис переменной для использования равен i.id
, i.foo2.id
и i.foo2.foo3
, но для более сложных QuerySet это не всегда просто.Есть ли способ вывести все доступные переменные QuerySet и их имена?