我在Django中定义了一个字段
zip_code = models.CharField(_('Zip code'), max_length=19, blank=True, null=True)
目前,我需要将每个字母大写为该字段的大写字母。我在formlayout.py
文件中使用此字段:
Row(
Column('city', css_class="s12 m5"),
Column('state', css_class="s12 m5"),
Column('zip_code', css_class="s12 m2"),
),
如何在不覆盖字段本身的情况下将zip_code
大写?我可以创建一个@property
方法来转换此字段吗?放这种方法的最佳位置是什么? utils.py
? views.py
? models.py
?
例如,如果最初的zip_code
是j3w 1w7,那么我希望它成为J3W 1W7
答案 0 :(得分:2)
假设您有表单或模型表单,最简单的方法是添加clean_<fieldname>
方法。
class MyForm(forms.ModelForm):
...
def clean_zip_code(self):
return self.cleaned_data['zip_code'].upper()