1

我想覆盖 Django Queryset更新方法,以在另一个表中记录模型更改。我已经覆盖了该方法,但无法找到将要更新的行的 ID。我正在获取正在更改的字段来自kwargs 我正在使用 Django v1.9.5。我浏览了django-simple-historydjango-reversion的文档,但它们没有记录更新方法的更改。

class PollQuerySet(QuerySet):
    def update(self, *args, **kwargs):
        # save data into other table whose schema is 
        #(model_name,field_name,model_pk_id,old_value,new_value)

        super().update(*args, **kwargs)

class ModelWithCustomManager(models.Model):
    objects = PollQuerySet.as_manager()

    class Meta:
        abstract = True

4

1 回答 1

0

update您可能希望查看信号,而不是覆盖该方法。打开pre-savepost-save您可以从模型中获取数据并将其保存到日志表中。

于 2020-03-02T16:45:55.427 回答