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