Ниже приведен код проекта, над которым я работаю.Как вы можете видеть в представлении, я выполняю запрос для объектов в модели риска, которые связаны с первичным ключом в URL.
Проблема в том, что я не могу получить доступ к атрибутам запрашиваемого объекта.
Модель
class Risk(models.Model):
risk_title = models.CharField(max_length=60)
root_causes = models.ManyToManyField('self',
through='Roots',
symmetrical=False,
related_name='root_cause')
class Roots(models.Model):
causal_risk = models.ForeignKey(Risk, related_name='causes', on_delete=models.CASCADE)
effected_risk = models.ForeignKey(Risk, related_name='effected_risk', on_delete=models.CASCADE)
Просмотр:
def view_risk(request, id):
try:
risk = Risk.objects.get(pk=id)
except Risk.DoesNotExist:
raise Http404("Risk does not exist")
roots = Roots.objects.filter(effected_risk=id)
args = {
'risk': risk,
'roots': roots,
}
return render(request, 'risks/risk_detail.html', args)
Шаблон:
{% for root in roots %}
{{ root }}
{% endfor %}
Запуск приведенного выше кода возвращает это:
Roots object (2) Roots object (3)
Этого следует ожидать,так как это записи, которые я сделал для модели через интерфейс администратора.
Однако, когда я запускаю:
{% for root in roots %}
{{ root.risk_title }}
{% endfor %}
Экран остается пустым.
TLDR Передача запроса из промежуточной таблицы в шаблон работает, но шаблон не может получить доступ к атрибутам объекта.Как я могу выполнить приведенный выше запрос и затем получить доступ к объектам в шаблоне?
ОБНОВЛЕНО Включена часть рендеринга для ответа JoJo.Эта проблема была решена в моем другом обновлении.
Заранее спасибо!