2

我刚开始使用 Django REST 框架,需要在序列化时将 DATETIME 字段自定义为 unix epoch(整数)

我目前有

/models.py
class Snippet(models.Model):
    created = models.DateTimeField(auto_now_add=True)

/serializers.py
class SnippetSerializer(serializers.ModelSerializer):
    class Meta:
        model = Snippet
        fields = ('created')

当我通过 API 调用代码片段时,我得到 STR 格式的典型 DATETIME 。

如何更改 SnippetSerializer 以转换为 EPOCH。此外,当有人发布信息时,它会在 EPOCH 中返回给我,我需要将其转换为 DATETIME 。有任何想法吗?

4

1 回答 1

18

请参阅下面的代码,它将帮助您解决问题。

#models.py
class Snippet(models.Model):
    created = models.DateTimeField(auto_now_add=True)
    def convert_to_epoc(self):
        #paste your conversion code here
        return result

#serializers.py
class SnippetSerializer(serializers.ModelSerializer):
    created = serializers.Field(source='convert_to_epoc')
    class Meta:
        model = Snippet
        fields = ('created')
于 2013-10-15T06:00:40.500 回答