我有很复杂的序列化程序(深入三级),我在两个视图中使用。对于POST和PATCH调用。
我想知道如何动态更改read_only
字段上的pk
属性,并考虑所执行的操作。
如果我将此数据的POST发送到endpont:
{
"id": 93,
"name": "Template workout",
"items": [
{
"id": 74,
"is_superset": false,
"seq": "00002",
"exercises": [
{
"id": 50,
"exercise": {
"id": 3,
"title": "sprint"
},
"set_type": "time",
"rest": 30,
"sets": [
{
"id": 141,
"weight": null,
"reps": null,
"time_interval": 30
},
{
"id": 142,
"weight": null,
"reps": null,
"time_interval": 40
},
{
"id": 143,
"weight": null,
"reps": null,
"time_interval": 50
}
]
}
]
}
]
}
我想删除所有带有此结构值的id
个键。
我认为当id为read_only=True
时,通过序列化程序发送它是我最好的选择,但在更新时我确实需要id
。
答案 0 :(得分:1)
您需要override序列化程序http://www.django-rest-framework.org/api-guide/serializers/#saving-instances上的create
方法然后,在validated_data
内,您需要手动保存对象。