Django Rest框架自定义序列化一个字段 [英] Django Rest framework custom serialize a field

查看:106
本文介绍了Django Rest框架自定义序列化一个字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚开始使用Django REST框架,并且需要在序列化时自定义一个DATETIME字段来unix epoch(integer)

I just started using Django REST framework and need to customize a DATETIME field to unix epoch (integer) when serializing it

我目前有

/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。

When I call snippets through API, i get typical DATETIME in STR format .

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

How can I change SnippetSerializer to convert to EPOCH. Also, when someone is posting information, it will come back to me in EPOCH, which I would need to convert to DATETIME . Any ideas?

推荐答案

请参阅下面的代码,这将有助于您解决问题。

Please see below code it will help you to solve your problem.

#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')

这篇关于Django Rest框架自定义序列化一个字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆