有一个datefield字段,在模型里面已经设置了null=True, blank=True允许为空,前端代码也设置了时间格式化:
模型字段:
Sdate = models.DateField(verbose_name="选择日期",null=True, blank=True,)
前端配置代码:
{
title: "选择日期",
key: "Sdate",
sortable: true,
type: "date",
form: {
component: {
name: 'el-date-picker',
props: {
type: 'date',
valueFormat: 'yyyy-MM-dd',
}
},
},
},
但在提交修改表单时(新增时,此日期字段为空可以正常提交,修改时为空就会报错):
1、如果没有选择日期,报错提示:“日期格式错误。请从这些格式中选择:YYYY-MM-DD。”
2、选择了日期,能正常提交。
不知道这个问题出在哪里,怎么解决?
@hongzai @liqiang @yuanxiaotian
请各位大佬指点指点!
我也是遇到这个问题搜索了一圈后面找到了解决方案。
重写序列化器的to_internal_value
方法
def to_internal_value(self, data):
if data.get('paid_time') == '':
data['paid_time'] = None
return super().to_internal_value(data)
需求上希望这个字段是非必填的,所以当用户没有选择日期时,应当正常提交表单。