DRF多对多关联下Watchlist创建接口的POST请求数据结构问题
创建Watchlist的POST请求数据结构说明
核心请求格式
针对你的Watchlist多对多关联Stock的模型设计,POST请求需要传递Stock对象的ID数组,Axios请求代码如下:
api.post(`/api/watchlist-create/`, { stock: [1, 3, 5] // 填入需要加入收藏的Stock的id值 })
逻辑说明
序列化器适配
你的WatchlistAddSerializer指定了fields = ['stock'],DRF的ModelSerializer对多对多字段默认支持接收关联模型的主键(id)数组作为输入。后端处理流程
当传入合法的Stock ID数组时,序列化器会自动验证这些ID对应的Stock对象是否存在;验证通过后,会在watchlist表中创建关联当前请求用户的记录,同时在watchlist_stock中间表中生成Watchlist与Stock的关联数据。注意事项
- 必须传入数据库中已存在的Stock主键,否则会返回400错误,提示对应Stock不存在。
- 仅添加单个Stock时,也需用数组格式传递:
stock: [2]。
内容的提问来源于stack exchange,提问作者ElasticPanda
相关产品推荐
相关产品推荐

