【发布时间】:2016-06-11 05:06:15
【问题描述】:
我有 2 节课:
class ContactInternal(models.Model):
name = models.CharField(max_length=80)
SysAppApp = apps.get_app_config('SysApp')
SysAppModel = SysAppApp.models
reversion.register(ContactInternal, follow=["fk_contactinternal_sysapp"])
reversion.register(SysAppModel)
# SysApp from another app called 'SysApp'
class SysApp(models.Model):
name = models.CharField(max_length=80)
internalcontact = models.ForeignKey(ContactInternal, related_name='fk_contactinternal_sysapp', null=True, verbose_name="Internal Contact",blank=True,on_delete=models.SET_NULL)
在大多数情况下都可以正常工作。例如当我对 ContactInternal 进行更改时,会为 SysApp 创建一个新版本。对它的工作方式非常满意。
但是,如果我删除从 SysApp.internalcontact 链接的记录,则不会为 SysApp 创建任何版本。
实际上我想要实现的只是获取 SysApp 的最后修改日期的时间戳以及哪个用户(不需要回滚)。我想知道
'When Peter delete a John from ContactInternal on 26th Feb, it will show Peter updated SysApp on 26th Feb'
我该如何使用django-reversion?或者有其他方法可以实现吗?
- 注意:SysApp 中还有另一个字段是 M2M,我也想达到相同的结果。
【问题讨论】:
标签: python django postgresql audit django-reversion