Django 日期时间格式不同于 DRF 序列化程序日期时间格式

我试图理解为什么会发生这种情况。我有一个 Django DateTime 字段和使用该字段的 Django Rest Framework 序列化程序。


我正在尝试比较它们的日期,并从 JSON 端点和模型结果中获得以下结果:


DRF: 2018-12-21T19:17:59.353368Z

Model field: 2018-12-21T19:17:59.353368+00:00

有没有办法让它们相似?因此,要么使它们都成为“Z”或“+00:00”。


UYOU
浏览 330回答 3
3回答

尚方宝剑之说

我从谷歌来到这里寻找快速解决方案(例如复制和粘贴)。因此,借用@RezaTorkamanAhmadi 的回答,对于任何希望获得 DRF 序列化程序 DateTimeField 的人来说,您正在寻找的格式2018-12-21T19:17:59.353368+00:00(与默认格式相同,models.DateTimeField以便您的序列化值与您的模型值匹配——OP 的问题和我的问题)对于:# settings.pyREST_FRAMEWORK = {    ...    'DATETIME_FORMAT': "%Y-%m-%d %H:%M:%S.%f%z",     ...}或者如果您只想要它用于您正在寻找的特定 DateTimeField 序列化器字段from rest_framework import serializersclass MySerializer(serializers.Serializer):    some_date = serializers.DateTimeField(format="%Y-%m-%d %H:%M:%S.%f%z")

眼眸繁星

除了之前的答案,您还可以更改DateTime序列化程序中的格式。from rest_framework import serializersclass YourSerializer(serializers.ModelSerializer):    your_datetime_field = serializers.DateTimeField(format="%Y-%m-%dT%H:%M:%S")    class Meta:        model = YourModel        fields = '__all__'
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python