【发布时间】:2018-05-13 09:20:41
【问题描述】:
我在 df 中有许多未知值,其中的单元格用字符 '---' 填充
我想告诉 Django,如果它发现不是任何类型的数字(整数 / 十进制 / 浮点数),则将该字段的值留空。我也希望默认为空白,但似乎也不允许这样做。
我的模型如下所示:
value = models.FloatField(
# default=blank,
null=True,
validators=[MinValueValidator(0)],
)
我的视图调用这样的函数:
if (value == "---"):
value = None
MyModel(
value=value,
).save()
我的表单如下所示: 从 django 导入表单
从 .models 导入 WeatherStatistics
class WeatherStatisticsForm(forms.ModelForm):
class Meta:
model = WeatherStatistics
fields = [
"value",
]
如何将空白值发布到数据库?
【问题讨论】:
-
你得到一个错误?什么不工作?
-
我收到此错误:NOT NULL 约束失败:weatherstats_weatherstatistics.value
-
奇怪,这不应该给你 NOT NULL 约束错误。你确定你已经运行了所有的 makemigrations 和 migrations 吗?请注意,在验证您的表单时,您不允许使用空白(因为您没有设置空白=True),并且您会遇到验证错误,即值应该 >=0,如下面的答案中所述。
标签: python django database python-3.x model