Cha*_*ngh 0 django django-rest-framework
有什么方法可以'changed_fields'在使用 更新模型之前获得ModelSerializer?
我想要这样的功能:
class MySerializer(serializers.ModelSerializer):
class Meta:
fields = '__all__'
model = MyModel
def update(self, validated_data):
// Access old values and new values of model so that I can compare them.
super(MySerializer, self).update(validated_data)
Run Code Online (Sandbox Code Playgroud)
我不想查询数据库来获取old_values,因为我们有超过数百万行,需要时间来获取。
该update()方法采用两个参数instance和validated_data。该instance是模型实例是将要更新和validated_data是一个dict包含数据进行更新
class MySerializer(serializers.ModelSerializer):
class Meta:
fields = '__all__'
model = MyModel
def update(self, instance, validated_data):
for field, value in validated_data.items():
new_value = value
old_value = getattr(instance, field)
return super(MySerializer, self).update(instance, validated_data)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
858 次 |
| 最近记录: |