在我的序列化程序中添加更新定义时,是否必须将每个字段放入或者是否有办法执行“任何”或“全部”?
def update(self, instance, validated_data):
instance.id = validated_data.get('id', instance.id)
instance.user.id = validated_data.get('user_id', instance.user.id)
instance.city = validated_data.get('city', instance.city)
# instance all fields?
instance.save()
return instance
答案 0 :(得分:1)
第一个不应像id那样更新的pop键。
for key, value in validated_data.items():
setattr(instance, key, value)
instance.save()
使用循环。
<root>
<row>
<field1>720</field1>
<field2>8900</field2>
<field3>100</field3>
</row>
<row>
<field1>720</field1>
<field2>99998</field2>
<field3>120</field3>
</row>
<row>
<field1>720</field1>
<field2>8900</field2>
<field3>130</field3>
</row>
<row>
<field1>720</field1>
<field2>12403</field2>
<field3>130</field3>
</row>
</root>