django rest framework序列化属性字段作为日期?

时间:2017-03-10 12:14:24

标签: python django django-rest-framework

我有这个:

extra_kwargs = {
    'posting_date': {'format':'%d-%m-%Y'},
    'validation_date': {'format':'%d-%m-%Y'},
    'execution_date': {'format':'%d-%m-%Y'},
    'rejection_date': {'format':'%d-%m-%Y'},
    'deadline': {'format':'%d-%m-%Y'}
}

因为它们是datetime django模型字段,所以前4个字段的每个东西都能正常工作。最后一个(截止日期)是一个属性,即使它返回一个日期时间,它也不被django序列化程序视为日期时间,因此使用格式会引发异常。

针对此问题的任何解决方案?

2 个答案:

答案 0 :(得分:0)

您始终可以将字符串转换为python datetime对象,如下所示:

from datetime import datetime

# strptime stands for "from string parse the (date)time"
datetime_obj = datetime.strptime('Jan 30 2017 17:00PM', '%b %d %Y %I:%M%p')

有关此here的详情。

答案 1 :(得分:0)

覆盖to_representation方法以重新格式化响应数据