繁体   English   中英

如何在django rest框架中序列化object字段

[英]How to serialize object field in django rest framework

我有配置文件 model,它是 auth model。我有博客 model。我想序列化 model,因为它会给我{author: {user_name:.., photo: photo_path}, blog_title:some_title, ..} 不久,我想使用 author 字段作为内部序列化程序。 我已经有 ProfileSerialiser 和 BlogSerializer。 这是我的 BlogList 序列化程序:

class BlogListSerializer(serializers.ModelSerializer):
    author = MiniProfileSerializer()
    class Meta:
        model = Blog
        fields = ['title', 'content', 'like_count', 'author']
        read_only_fields = ['views', 'author', 'like_count']

和 MiniProfileSerializer:

class MiniProfileSerializer(serializers.ModelSerializer):

    class Meta:
        model = Profile
        fields = ['user_name', 'image']

并查看:

class BlogListAPIView(generics.ListCreateAPIView):
    serializer_class = BlogListSerializer
    queryset = Blog.published.all()
    permission_classes = [permissions.IsAuthenticatedOrReadOnly]

Django REST 框架不支持立即写入嵌套序列化程序。 您可以查看DRF Writeable Nested ,或者通过覆盖BlogListSerializer中的create()来编写您自己的自定义行为。

编辑:这是关于该主题的更多文档: https://www.django-rest-framework.org/api-guide/relations/#writable-nested-serializers

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM