Django - нужен get_FOO_display для чужого поля в форме - PullRequest
2 голосов
/ 15 августа 2011

У меня есть шаблон формы, в который я передаю информацию о форме, а также сам объект.Я могу использовать {{ object.get_FOO_display }} без проблем для полей выбора, когда поле выбора является частью самого объекта, но я ищу простой способ сделать то же самое для внешних полей в форме.

Я встраиваю это в представление на основе классов, поэтому в идеале любые предложения можно кодировать независимо от ссылок на конкретные поля.

Спасибо!

1 Ответ

0 голосов
/ 18 марта 2012

Если я не ошибаюсь и вы пытаетесь получить отображаемое значение для экземпляра модели django с атрибутом choices, вы можете просто:

object.foreign_key_field.get_FOO_display

Однако, если вы работаете в обратном направлении (т.е. пытаетесь получить отображаемое значение для экземпляра модели, который имеет внешний ключ, указывающий на вашу модель экземпляров объекта и атрибут related_name для fk_related_name), то:

object.fk_related_name.get_query_set()[i].get_FOO_display

get_query_set возвращает набор запросов, поэтому вы можете либо выполнить итерацию по набору запросов с {% forloop%}, либо предоставить индекс [i] нужного вам объекта, как указано выше.

Если они не работают и вы все еще не уверены, опубликуйте модель объекта и модель foreign_key.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...