Django 使用信号或覆盖模型保存方法?
简单用例: 在用户更新记录后,我希望获得更改的字段并将其保存在历史记录表中。我习惯于抓住这段历史。所以我的想法是使用pre_save信号获取所有“脏”字段,并将它们存储在我的历史记录表中 问题是在使用信号时无法获取request.user。我需要这个来查看哪个用户对记录进行了更改。我的另一个想法是重写模型的save方法,但是我也不能直接从模型中获取request.user。我必须发送一个**kwarg['user'],其中包含视图中的用户信息才能获取此信息。这很好,但我将在代码中的许多不同地方进行save调用。我不希望每次编辑对象时都必须传递request.user。这就是为什么我希望有一个点,像一个信号,来处理这一切。也许是一些我不熟悉的中间件Django 使用信号或覆盖模型保存方法?,django,django-signals,Django,Django Signals,简单用例: 在用户更新记录后,我希望获得更改的字段并将其保存在历史记录表中。我习惯于抓住这段历史。所以我的想法是使用pre_save信号获取所有“脏”字段,并将它们存储在我的历史记录表中 问题是在使用信号时无法获取request.user。我需要这个来查看哪个用户对记录进行了更改。我的另一个想法是重写模型的save方法,但是我也不能直接从模型中获取request.user。我必须发送一个**kwarg['user'],其中包含视图中的用户信息才能获取此信息。这很好,但我将在代码中的许多不同地方进
有没有更好的方法来实现这一点?您无法通过信号访问用户对象。 可以考虑使用这个第三方软件包:访问信号中的请求对象。 另一种方法是重写模型的save方法