【发布时间】:2018-07-13 13:30:51
【问题描述】:
我有一个日期,以2019-01-01T00:02 传递。我的目标是将 T 替换为空格 2019-01-01 00:02。
使用表单,我验证该字段和其他一些字段。'
klientForm = KlientForm(json.loads(request.body.decode()))
bokningForm = BokningForm(json.loads(request.body.decode()))
if klientForm.is_valid() and bokningForm.is_valid():
#Save model, etc.
我正在使用DateTimeField,除非我像上面那样更改它,否则它不会接受日期。我实现了自己的 clean() 方法,
def clean(self):
cleaned_data = super(BokningForm, self).clean()
pumpStart = self.data['pumpStart']
pumpStart = pumpStart.replace("T", " ")
cleaned_data['pumpStart'] = datetime.strptime(pumpStart, "%Y-%m-%d %H:%M")
return cleaned_data
这成功地将其转换为日期时间对象,我使用print(cleaned_data) 进行了检查
我的问题是数据返回晚了,因为(我认为)bokningForm.is_valid() 已经失败,导致模型没有被保存。
我尝试像Django Forms一样使用clean_pumpStart(self):,但是当bokningForm.is_valid()失败时没有调用该函数,导致与上述相同的问题。
任何帮助表示赞赏!
【问题讨论】:
标签: python json django validation datetime