django-reversion和django-reversion-与用户模型进行比较

时间:2017-08-22 07:02:39

标签: python django django-reversion

您好我有一些问题需要添加django-reversion和django-reversion-compare模块。

我创建了新项目,我希望用django-reversion跟踪user_auth日志更改(在使用django-reversion注册用户模型之后我想使用django-reversion-compare)。

from django.contrib import admin
from django.contrib.auth.models import User
from reversion.admin import VersionAdmin


@admin.register(User)
class UserModelAdmin(VersionAdmin):
pass

当我想注册模型用户时我收到了错误

django.contrib.admin.sites.AlreadyRegistered: The model User is already registered

如何使用django-reversion和django-reversion-与用户模型进行比较?

1 个答案:

答案 0 :(得分:0)

auth.User模型已在django admin中注册,这就是您看到错误的原因。为避免这种情况,您有两种选择:

一个。取消注册用户管理员,然后再次将其注册为VersionAdmin:类似这样的内容:

from django.contrib import admin
from django.contrib.auth.models import User
from reversion.admin import VersionAdmin

admin.site.unregister(User) 
admin.site.register(User, VersionAdmin) 

B中。使用django-reversion(https://django-reversion.readthedocs.io/en/stable/api.html#registration-api)的注册API来注册模型而无需修改管理员,例如:

import reversion
from django.contrib.auth.models import User

reversion.register(User)