日期格式错误。请从这些格式中选择:YYYY-MM-DD

发布于 2022-10-21 12:11:48

有一个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
请各位大佬指点指点!

查看更多

关注者
0
被浏览
1.5k
3 个回答
jeanphy
jeanphy 2023-03-15
这家伙很懒,什么也没写!

我也是遇到这个问题搜索了一圈后面找到了解决方案。
重写序列化器的to_internal_value方法

def to_internal_value(self, data):
    if data.get('paid_time') == '':
        data['paid_time'] = None
    return super().to_internal_value(data)

StackOverflow链接

Hudson
Hudson 2022-10-21
这家伙很懒,什么也没写!

接收数据的时候判断一下,是空还是None

hongzai
hongzai 认证专家 2022-10-23
life is coding,外包,远程协助,咨询添加微信:H0nGzA1

在序列化器里设置一下
kw_args里设置required=false就行

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览