gpt4 book ai didi

python - django-reversion 和 django-reversion-compare 与用户模型

转载 作者:行者123 更新时间:2023-12-03 20:20:58 25 4
gpt4 key购买 nike

您好,我在添加 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-compare 与用户模型一起使用?

最佳答案

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

A. 取消注册用户管理员,然后再次将其注册为 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 的注册 API ( https://django-reversion.readthedocs.io/en/stable/api.html#registration-api ) 注册模型,无需修改你的管理员,例如:
import reversion
from django.contrib.auth.models import User

reversion.register(User)

关于python - django-reversion 和 django-reversion-compare 与用户模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45810943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com