大写字母

时间:2017-07-27 13:53:13

标签: python django

我在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.pyviews.pymodels.py

例如,如果最初的zip_code是j3w 1w7,那么我希望它成为J3W 1W7

1 个答案:

答案 0 :(得分:2)

假设您有表单或模型表单,最简单的方法是添加clean_<fieldname>方法。

class MyForm(forms.ModelForm):
    ...

    def clean_zip_code(self):
        return self.cleaned_data['zip_code'].upper()