Найти - Пользователи
Полная версия: как избежать отображения "None" в незаполненых полях null=True?
Начало » Django » как избежать отображения "None" в незаполненых полях null=True?
1
tur75
я в начале освоения Django.
если имеем поля с атрибутами
price = models.IntegerField(blank=True, null=True)
type = models.ForeignKey(FlatType, blank=True, null=True)
plate = models.CharField(max_length=1, choices=PLATE, blank=True, null=True)
пишу в шаблоне типа {{ object.plate }} и т.д.

если эти поля не заполнены, т.е. =NULL
в браузере видим “None”

вижу два варианта решения вопроса:
1) написать в шаблоне;
{% if object.plate %}
{{ object.plate }}
{% endif %}
2) добавить свойство в модель:
    @property
def getPlate(self):
if self.plate:
return self.plate
else:
return ''
а в шаблоне, соответственно:
   {{ object.getPlate }}
Вопросы:
1 грамотно ли это?
2 что лучше?
3 а как надо делать?
Lolka
Есть два фильтра: default и default_if_none
{{ value|default:"nothing" }}
If value is "" (the empty string), the output will be nothing.

{{ value|default_if_none:"nothing" }}
If value is None, the output will be the string "nothing".
http://docs.djangoproject.com/en/dev/ref/templates/builtins/#default
http://docs.djangoproject.com/en/dev/ref/templates/builtins/#default-if-none

Так?
tur75
Lolka
Есть два фильтра: default и default_if_none
спасибо
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB