多対多のフィールドを何かのリストにシリアル化し、それを REST フレームワークを通じて返すにはどうすればよいですか? 以下の例では、投稿とそれに関連付けられたタグのリストを一緒に返そうとしています。
モデル.py
class post(models.Model):
tag = models.ManyToManyField(Tag)
text = models.CharField(max_length=100)
シリアライザー.py
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
fields = ("text", "tag"??)
ビュー.py
class PostViewSet(viewsets.ReadOnlyModelViewSet):
queryset = Post.objects.all()
serializer_class = PostSerializer
ベストアンサー1
を持つTagSerializer
が必要になります。が作成されたら、 をに変更して関係を作成します。class Meta
model = Tag
TagSerializer
PostSerializer
many=True
ManyToManyField
class PostSerializer(serializers.ModelSerializer):
tag = TagSerializer(read_only=True, many=True)
class Meta:
model = Post
fields = ('tag', 'text',)