【发布时间】:2015-04-10 07:56:19
【问题描述】:
在 Django 之上构建了一个 API 服务器。模型Author 有DateTimeField,它被序列化为iso 格式的字符串,例如2015-04-10T07:28:45.571039+00:00。
class Author(models.Model):
created = models.DateTimeField()
客户端是用 Javascript 实现的。它使用给定的日期时间字段构建模型,因此要更新模型,我想使用相同格式的字段。
要在服务器端处理请求,有一个模型表单
class AuthorForm(forms.ModelForm):
class Meta:
model = Author
POST/PUT 请求处理程序引发异常:“输入有效的日期/时间。”。允许这样做的原因DATETIME_INPUT_FORMATS。无法接受带有冒号的时区信息。
鉴于我不想删除时区支持(USE_TZ)并且想接受带有时区信息的数据,那么实现服务器端的方法是什么?我目前有两种解决方案:1)完全排除字段 2)在表单中使用 CharField 和表单清理方法中的 dateutil.parser.parse 函数。
您对如何处理有什么建议吗?
【问题讨论】:
标签: python django validation datetime timezone