在Django REST Framework中无外键关联时能否嵌套调用序列化器?
假设你的Book模型与Author模型存在关联关系(比如Book有一个外键字段author指向Author),可以直接在BookSerializer里嵌套使用AuthorSerializer,以此获取完整的作者序列化数据。
修改后的代码示例:
class AuthorSerializer(ModelSerializer): class Meta: model = Author fields = "__all__" class BookSerializer(ModelSerializer): # 嵌套AuthorSerializer,source对应模型里的关联字段名 author = AuthorSerializer() class Meta: model = Book fields = "__all__"
补充说明
- 如果模型间的关联字段不是
author,把代码中嵌套的字段名改成实际的关联字段名称即可。 - 若为一对多/多对多关联关系,需要在序列化器中添加
many=True参数,示例:
# 比如Book对应多个Author的场景 authors = AuthorSerializer(many=True)
内容的提问来源于stack exchange,提问作者Sins97
相关产品推荐
相关产品推荐

