Можно ли назначить отображаемое значение по умолчанию, когда ForeignKey имеет значение None в Django? - PullRequest
0 голосов
/ 12 июля 2010

У меня есть ForeignKey в моей модели Django, которая может быть нулевой.

group = models.ForeignKey(Group, null = True, blank = True)

В случае присвоения нулевого значения я хочу отобразить какой-то определенный текст в шаблонах (например, «Нет назначенной группы»).Я использую default filter, и это нормально, за исключением того, что я повторяю этот код в различных шаблонах.Я ищу решение, которое позволит мне назначить какое-либо отображаемое значение для None для FK из какой-либо модели в мире.

Как:

group = models.ForeignKey(Group, null = True, blank = True, display_if_none='No group assigned') 

Возможно ли это?

1 Ответ

0 голосов
/ 12 июля 2010

Поскольку это действительно «логика представления» - она ​​лучше всего относится к шаблонам или, возможно, к представлению.

Если вы беспокоитесь о том, чтобы повторять логику среди множества шаблонов, вы можете воспользоваться несколькими подходами. Одна возможность состоит в том, чтобы написать простой пользовательский шаблонный тег , который будет возвращать либо «нет назначенной группы», либо все, что будет уместно отображать, когда назначены группы (возможно, имя группы, с или без гиперссылка на страницу сведений о группе).

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

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