Django Rest框架自定义序列化字段

时间:2013-10-15 05:17:37

标签: django django-rest-framework

我刚刚开始使用Django REST框架,需要在序列化时自定义DATETIME字段以解除时代(整数)

我目前有

/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。有什么想法吗?

1 个答案:

答案 0 :(得分: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')