请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

不理解serializers里面的many=True

不理解many=False;;之前不是说关联的不能有多条数据才用Flase吗,但

class OrderGoodsSerialzier(serializers.ModelSerializer):
    goods = GoodsSerializer(many=False)
class ShopCartDetailSerializer(serializers.ModelSerializer):
    goods = GoodsSerializer(many=False, read_only=True)

订单商品里,一个订单可以有多个商品呀

购物车里,也可以有多个商品,只是每种商品是一条记录

正在回答 回答被采纳积分+3

1回答

bobby 2021-04-26 16:47:02
OrderGoodsSerialzier是针对的ordergoods表 所以这里many只是false
ShopCartDetailSerializer一条记录中的goods是个外键,所以many是false

其实就是一条OrderGoods中goods是外键 所以many为false
一条ShopCartDetail记录goods也是外键 所以many也是false
但是如果是orderserializer 就是说一个order记录可以有多个goods 这个时候才能是many为true
0 回复 有任何疑惑可以回复我~
  • 提问者 慕少1021562 #1
    还是不理解,,为什么是外键就设置为false,对于订单来说,goods也是外键呀,为啥就设置为true了
    回复 有任何疑惑可以回复我~ 2021-05-07 17:44:11
  • bobby 回复 提问者 慕少1021562 #2
    外键就是说 一条ordergoods中的goods只可能有一条不可能有多条。对于order表来说order表并没有外键是goods而是通过中间表ordergoods,所以一个order可以有多条goods
    回复 有任何疑惑可以回复我~ 2021-05-08 15:48:51
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信