hek*_*ran 12 python django django-forms
什么时候应该使用TypedChoiceField在ChoiceField上使用coerce函数,并在字段的表单上使用clean方法?
换句话说,为什么你会使用MyForm而不是MyForm2,反之亦然.这只是一个偏好问题吗?
from django import forms
CHOICES = (('1', 'A'), ('2', 'B'), ('3', 'C'))
class MyForm(forms.Form):
my_field = ChoiceField(choices=CHOICES)
def clean_my_field(self):
value = self.cleaned_data['my_field']
return int(value)
class MyForm2(forms.Form):
my_field = TypedChoiceField(choices=CHOICES, coerce=int)
Run Code Online (Sandbox Code Playgroud)
Man*_*dan 12
我会用一种clean_field方法来做"举重".举例来说,如果你的领域需要不平凡的,定制的清洁和/或类型转换等.如果在另一方面的要求很简单,如强迫到int那么clean_field是可能矫枉过正.TypedChoiceField在那种情况下将是这样的方式.
| 归档时间: |
|
| 查看次数: |
10394 次 |
| 最近记录: |