Python 如果有更新,如何获取多对多字段的上一个数据
我试图维护更新的历史记录,我需要知道如何在序列化程序更新函数中获取多对多字段的先前数据Python 如果有更新,如何获取多对多字段的上一个数据,python,django,serialization,django-rest-framework,Python,Django,Serialization,Django Rest Framework,我试图维护更新的历史记录,我需要知道如何在序列化程序更新函数中获取多对多字段的先前数据 class User_Serializer(QueryFieldsMixin,serializers.ModelSerializer): updated_by = serializers.CharField(allow_blank=True, allow_null=True,required=False) class Meta: model = user fields
class User_Serializer(QueryFieldsMixin,serializers.ModelSerializer):
updated_by = serializers.CharField(allow_blank=True, allow_null=True,required=False)
class Meta:
model = user
fields = ["id",
"username",
"first_name",
"last_name",
"email",
"phone_number",
"groups","updated_by"]
def update(self, instance, validated_data):
updated_by=validated_data.pop("updated_by",None)
for field,value in validated_data.items():
new_value=value
old_value=getattr(instance, field)
if new_value!=old_value:
insert = user_history(user_id=instance,field = field, previous_data =old_value, new_data = new_value,updated_by_id=updated_by)
insert.save()
在这里,团队是多对多领域,
出于某种原因,我得到了旧值中的auth.groups.None,所以我也尝试了这个
old_value=validated_data.get('groups', None)
我得到了新的值
因此,非常感谢您的帮助,泰
prev=instance.groups.get_queryset()
我使用
get\u queryset()
获得了前面的数据,您确实提供了代码段运行的上下文。向我们展示足够的代码来复制问题@KlausD.,还有什么需要的请告诉我!!