Django模型中的BooleanField与CharField

时间:2011-11-08 13:42:59

标签: python html django django-models django-forms

在我的应用模型中,我有BooleanField

campaign = models.BooleanField(default=False, db_index=True,
    verbose_name=_('processed'), help_text=_('Campaign or not ?'))

我用它来区分两件事。所以,我想把这个值从html表单中隐藏起来:

<input type="hidden" name="campaign" value="True or False" />

但似乎表单发送字符串,我想将该字符串转换为Boolean。当然,我可以重新编写模型,使其成为CharField default='True or False'值,但这看起来并不优雅。

有更多的djangoic方法吗?

1 个答案:

答案 0 :(得分:0)

  

表单发送字符串,我想将该字符串转换为布尔值。

request.POST中的所有数据都是字符串或字符串列表。您需要自己转换它或使用django表单(首选)为您完成工作。

使用django表单时,您可以在启动forms.BooleanField时替换窗口小部件:

class MyForm(forms.ModelForm):

    campaign = forms.BooleanField(widget=forms.HiddenInput())

More info on django forms