【问题标题】:DateTimeField input format failing to parse strDateTimeField 输入格式无法解析 str
【发布时间】:2015-10-18 16:21:11
【问题描述】:

我有以下字段:

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].']}

关于为什么我使用的日期时间字符串与该格式不匹配的任何想法?给定日期时间字符串,解析它的正确格式字符串是什么?

【问题讨论】:

    标签: python django-models django-rest-framework python-datetime


    【解决方案1】:

    我刚刚创建了一个新字段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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-05
      • 1970-01-01
      • 2018-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多