我正在尝试创建一个具有m2m关系的购物车,在保存该对象时,序列化程序会引发两个怪异的异常,如果我将关系更改为一对多,则一切正常!。
AttributeError:尝试在序列化程序
在/ api / carts / 29处的quantity
上获取字段ItemSerializer
的值时,出现AttributeError。 序列化程序字段的名称可能不正确,并且与BranchItemList
实例上的任何属性或键都不匹配。 原始异常文本为:“ BranchItemList”对象没有属性“ quantity”。AttributeError 尝试获取序列化程序
item_list
上字段ItemSerializer
的值时,出现AttributeError。 序列化程序字段的名称可能不正确,并且与BranchItemList
实例上的任何属性或键都不匹配。 原始异常文本为:“ BranchItemList”对象没有属性“ item_list”。
我的输入:
{
"items":[
{"item_list":350,"price":10,"quantity":20},
{"item_list":300,"price":10,"quantity":20}
]
}
型号:
序列化器:
答案 0 :(得分:1)
由于您将Role
模型用于M2M,因此实际上需要在序列化器中使用through
模型,但是Cart的ItemCart
M2M管理器返回items
。要纠正错误,请指定BranchItemList
:
source='itemcart_set'