You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Django REST Framework中无外键关联时能否嵌套调用序列化器?

在BookSerializer中嵌套AuthorSerializer完全可行

假设你的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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 05:31:09