我有一个django模型,它有一个int字段(null = True,blank = True)。 现在,当我收到用户提交的表单时,我会这样分配:
my_model.width= form.cleaned_data['width']
但有时我会收到错误:
ValueError: invalid literal for int() with base 10: ''
如果它被分配给字段的空白('')字符串值,我在徘徊? 因为我的理解是模型会将空字符串视为空/空白吗?
任何帮助都会受到赞赏。感谢。
答案 0 :(得分:5)
不,它没有。如果要分配NULL,请使用Python的None
。否则Django将尝试从字符串中解析一个数字,并且对于空字符串失败。
您可以使用or
构造来实现此目的:
my_model.width = form.cleaned_data['width'] or None