Django 创建对象时如何在序列化程序的字段上动态添加“read_only=True”
我在两个视图中使用了三个层次的序列化程序。用于POST和修补程序调用 考虑到所执行的操作,我想知道如何动态更改pk字段上的read_only属性 如果我将此数据发送到endpont:Django 创建对象时如何在序列化程序的字段上动态添加“read_only=True”,django,django-rest-framework,Django,Django Rest Framework,我在两个视图中使用了三个层次的序列化程序。用于POST和修补程序调用 考虑到所执行的操作,我想知道如何动态更改pk字段上的read_only属性 如果我将此数据发送到endpont: { "id": 93, "name": "Template workout", "items": [ { "id": 74, "is_superset": false, "seq": "00002", "exercises": [
{
"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\u only=True时通过序列化程序发送它是我的最佳选择,但我在更新时确实需要id。您需要在序列化程序上创建方法,然后在已验证的\u数据中,您需要手动保存对象