2015-02-12 2 views
0

У меня есть модель категории, имя которой не должно быть капитализировано.Auto-capitalize ModelChoiceField

Мне нужно, чтобы первая буква была заглавной, когда она отображается в шаблоне с помощью ModelChoiceField.

Поскольку я не могу сделать {{ form|capfirst }}, как мне следует продолжить?

Спасибо.

ответ

0

Вы можете использовать lower:

{{ form|lower|capfirst }} 

Или вы можете переопределить __init__ метод формы. Что-то вроде этого:

class MyModelForm(forms.ModelForm): 
    def __init__(self, *args, **kwargs): 
     super(MyModelForm, self).__init__(*args, **kwargs) 
     self.fields['category'].label_from_instance = obj.category.capitalize() 
+0

Извините, если я не был чист. Я имел в виду, что когда я его сохраняю, у него не могут быть буквы с заглавной буквы. Таким образом, все категории похожи на «пример», а не на «Пример». Однако мне нужно, чтобы он отображался как «Пример», когда ModelChoiceField отображается в шаблоне. –

+0

Nevermind. Я использовал ту же логику, но в представлении. Благодарю. –

+0

См. Мою поправку. –