В Template можно получить доступ к объекту, из которого была сгенерирована форма в ModelFormset?
Я пытаюсь создать представление для проведения инвентаризации. Это обновит количество и несколько других вещей для каждого элемента запаса в наборе запросов. Итак, ModelFormset?
Однако, одна из вещей, которую должен сделать человек, проводящий инвентаризацию, это проверить, что описание товара в базе данных соответствует физическим предметам. Чтобы сделать это, представление должно отобразить свойство object.description.human_description
(полученное из нескольких полей с различными условиями и форматированием) для объекта, к которому относится форма в наборе форм.
Я не вижу, как это сделать в документации
{% for form in formset %}
{{ what.human_description }} <!-- what is what? -->
{{form}}
{% endfor %}
Нашел ответ, делюсь для всех остальных.
Даже как несвязанный набор форм, каждая форма имеет {{form.instance}}
присоединенную форму.
В лишних формах есть "пустые" экземпляры. Если вы следуете к связанному объекту, это может привести к сбою при RelatedObjectDoesNotExist
. Итак,
{% if form.instance.id %} <!-- its an object that is already in the DB -->
{{ form.instance.description.human_description }}
{% else %}
whatever ... this is an extra form with no related description in instance
{% endif %}