В 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 %}
Вернуться на верх