gpt4 book ai didi

python - Django:无法将空表单字段保存到数据库 - 基数为 10 的 int() 的无效文字: ''

转载 作者:搜寻专家 更新时间:2023-10-30 19:48:23 24 4
gpt4 key购买 nike

许多人报告此类错误,但到目前为止,没有任何修复对我有用。我有一个模型,它有一个允许空值的 IntegerField:

def SomeModel(models.Model):
...
price_sell = models.IntegerField(null=True)
...

然后我有一个这样的表格:

class SomeForm(forms.Form):
...
price_sell = forms.IntegerField(required=False)
...

当将该字段留空并调用保存方法时,我得到一个 invalid literal for int() with base 10: '' 错误。我尝试了很多与 blank 和 null 参数有关的事情,但到目前为止没有成功。

我的解决方案是在我的 views.py 中这样做:

if form.is_valid():
if(request.POST['price_sell'] == ''):
price_sell = None
...

但我确信有一种更优雅的方法可以做到这一点。还是没有?

我在带有 SQLite 数据库的 Windows 上运行 Django 1.6。

最佳答案

从表单中的cleaned_data中抓取数据。 IntegerField 将为您提供所需的信息。 form.cleaned_data['price_sell']

关于python - Django:无法将空表单字段保存到数据库 - 基数为 10 的 int() 的无效文字: '',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22311905/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com