Django在保存中获取M2M字段的新旧值

时间:2018-09-05 05:58:21

标签: python django

我有一个模型,每当字段已更新/编辑时,我都希望跟踪更改。因此,每次保存新更新之前,我都会获取旧值和新值并创建一个新的Audit对象以跟踪这些更改。

尝试了下面的方法,该方法适用于m2m关系字段(例如User)以外的大多数字段,在该字段中,新旧值均保持不变。无论如何,我是否可以获得旧的和新的m2m字段值,以便每次保存/更新Model对象时都可以创建审计记录?

def __init__(self, *args, **kwargs):
    super(Model, self).__init__(*args, **kwargs)
    self.old_name= self.name
    self.assigned_users = self.assigned_users.all()

def save(self, *args, **kwargs):
    audit = audit.objects.create(
        old_name=self.old_name,
        new_name=self.name.
        old_assigned_users=self.old_assigned_users,
        new_assigned_users=self.assigned_users.all())

    super(Model, self).save(*args, **kwargs)

0 个答案:

没有答案