gag*_*gro 1 python django django-rest-framework
是否可以在不指定所有实例字段的情况下一行更新实例?
例如:
def update(self, instance, validated_data):
instance.name = validated_data.get('name', instance.name)
instance.address = validated_data.get('address', instance.address)
instance.save()
return instance
Run Code Online (Sandbox Code Playgroud)
因此,想象一下在名称和地址旁边是否还有更多字段。我可以做些什么从validated_data中提取kwarg吗?就像在create()方法中一样:
def create(self, validated_data):
return Person.objects.create(**validated_data)
Run Code Online (Sandbox Code Playgroud)
def update(self, instance, validated_data):
for attr, value in validated_data.items():
setattr(instance, attr, value)
instance.save()
return instance
Run Code Online (Sandbox Code Playgroud)