1

我有以下领域:DateTimeField字段输入格式无法解析STR

from rest_framework import serializers 
class ActivitySerializer(serializers.Serializer): 
    startDate = serializers.DateTimeField(input_formats=['%Y-%m-%d %H:%M:%S %z']) 

activity = {u'startDate': "2015-10-18 15:11:50 +0000"} 
serializer = ActivitySerializer(data=activity) 
serializer.is_valid() # False 
serializer.errors 
# {'startDate': [u'Datetime has wrong format. Use one of these formats instead: YYYY-MM-DD hh:mm:ss [+HHMM|-HHMM].']} 

任何想法,为什么我使用不符合该格式的日期时间字符串?鉴于该日期时间字符串,什么是正确的格式字符串来解析它?

回答

0

我刚刚创建了一个新字段ActivityStartDateField,并实施了自定义to_internal_value。我很惊讶,我无法让它与内置的DateTimeField一起工作。

class ActivityStartDateField(serializers.Field): 
    def to_representation(self, obj): 
     return str(obj) 

    def to_internal_value(self, data): 
     dt = arrow.get(data,'YYYY-MM-DD HH:mm:ss Z').datetime 
     return dt