DRF在GET-response和POST-response中以不同的方式序列化datetime

2024-04-29 14:54:27 发布

您现在位置:Python中文网/ 问答频道 /正文

class Event(models.Model):
    start_date = models.DateTimeField()
    end_date = models.DateTimeField()

class EventSerializer(serializers.ModelSerializer):
    bar = serializers.SerializerMethodField()

    class Meta:
        model = Event
        fields = ('id', 'start_date', 'end_date')

它工作得非常好:

^{pr2}$

现在,当我创建新事件时:

^{3}$

在JSON响应中,我得到:

{
   "databaseId":101489,
   "start_date":"2013-11-03T09:46:25.250000",
   "end_date":"2013-11-04T09:46:25.750000"
}

所以我得到了一个更精确的格式。我希望返回完全相同的格式,这样客户机开发人员就不必编写不同的解析器代码。在

我使用的是python2.7、drf3.1.3、Django 1.4.21(我知道它很旧,但它有很大的代码库,总有一天我们会迁移的)。在


Tags: 代码eventdatemodelmodels格式barstart
1条回答
网友
1楼 · 发布于 2024-04-29 14:54:27

到目前为止,我还不知道是什么导致了这种情况,但是显式地强制格式字符串有助于:

start_date=serializers.DateTimeField(format='%Y-%m-%d %H:%M:%S')

相关问题 更多 >