Django REST Framework - StringRelatedField
为了用其__str__方法表示关系的目标,你可以在序列化器中使用StringRelatedField。
# model:
class Post(models.Model):
# ...
def __str__(self):
return f"{self.date_published} - {self.title}"
# serializer:
class TagSerializer(serializers.ModelSerializer):
posts = serializers.StringRelatedField(many=True)
class Meta:
model = Tag
fields = ['name', 'posts']
# result:
{
"name": "Stories",
"posts": [
"2022-01-09 - My first story",
"2022-04-09 - Story about a dog"
]
}