[英]Serialize custom field from an object in a list using the Django Rest Framework
[英]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.