在空模型字段中存储Django form.cleaned_data?

时间:2009-03-09 12:08:53

标签: python django

我有一个django模型,它有一个int字段(null = True,blank = True)。 现在,当我收到用户提交的表单时,我会这样分配:

my_model.width= form.cleaned_data['width']

但有时我会收到错误:

ValueError: invalid literal for int() with base 10: ''

如果它被分配给字段的空白('')字符串值,我在徘徊? 因为我的理解是模型会将空字符串视为空/空白吗?

任何帮助都会受到赞赏。感谢。

1 个答案:

答案 0 :(得分:5)

不,它没有。如果要分配NULL,请使用Python的None。否则Django将尝试从字符串中解析一个数字,并且对于空字符串失败。

您可以使用or构造来实现此目的:

my_model.width = form.cleaned_data['width'] or None