gpt4 book ai didi

Django - 扩展另一个应用程序 ModelAdmin?

转载 作者:行者123 更新时间:2023-12-03 22:15:11 24 4
gpt4 key购买 nike

有没有办法扩展另一个应用程序 ModelAdmin?

我有一个使用 django.contrib.comments 提供的功能的项目。

CommentsAdmin ModelAdmin 类具有:actions = ["flag_comments", "approve_comments", "remove_comments"]
我想在我的项目中扩展 CommentsAdmin ModelAdmin 以包含一个操作 ban_user .

我尝试创建自己的 NewCommentsAdmin(CommentsAdmin)我的 admin.py 文件中的对象并注册它,但我收到通知 'AlreadyRegistered at /admin/' 'The model Comment is already registered' .

class NewCommentAdmin(CommentAdmin):
actions = ['ban_user']

def ban_user(self, request, queryset):
pass

admin.site.register(Comment, NewCommentAdmin)

有没有办法在不修改原始 django.contrib.comments 代码的情况下做到这一点?

最佳答案

下面是我在一个项目中为 User 模型做的事情。在我的应用程序的 admin.py 中:

from django.contrib import admin
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User

class MyUserAdmin(UserAdmin):
# ...

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

关于Django - 扩展另一个应用程序 ModelAdmin?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2170521/

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