许多人报告了这种类型的错误,但到目前为止,所有修复程序都不适用于我。我有一个具有IntegerField的模型,该模型允许空值:
def SomeModel(models.Model):
...
price_sell = models.IntegerField(null=True)
...
然后我有一个像这样的表格:
class SomeForm(forms.Form):
...
price_sell = forms.IntegerField(required=False)
...
当将此字段保留为空并调用save方法时,出现invalid literal for int() with base 10: ''
错误。我尝试了许多与blank和null参数有关的事情,但是到目前为止还没有运气。
我的解决方案是这样做是我的views.py:
if form.is_valid():
if(request.POST['price_sell'] == ''):
price_sell = None
...
但是我敢肯定,有一种更优雅的方法可以做到这一点。还是没有?
我正在Windows上使用SQLite db运行Django 1.6。
从表单的cleaned_data中获取数据。该IntegerField
会得到你想要的东西。form.cleaned_data['price_sell']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句