2024-04-23 14:39:48 发布
网友
我正在为django管理编写一个自定义操作。此操作只适用于具有特定状态的记录。在
例如,“Approve Blog”自定义操作应该只在Blog未被批准时才批准用户Blog。而且它一定不能拒绝博客。在
一种选择是过滤未经批准的博客,然后批准它们。但是被拒绝的博客仍然有可能被批准。在
如果用户试图批准被拒绝的博客,自定义操作应该通知用户django管理中的无效操作。在
有什么解决办法吗?在
关于管理操作的文档非常有帮助,所以开始take a look!在
我认为写一个只更新未被拒绝的博客应该做的事。在
下面的代码假设您有变量rejected和approved,它们分别映射到表示已被拒绝的博客和已批准的博客的积分值:
rejected
approved
class BlogAdmin(admin.ModelAdmin): ... actions = ['approve'] ... def approve(self, request, queryset): rejects = queryset.filter(state = rejected) if len(rejects) != 0: # You might want to raise an exception here, or notify yourself somehow self.message_user(request, "%s of the blogs you selected were already rejected." % len(rejects)) return rows_updated = queryset.update(state = approved) self.message_user(request, "%s blogs approved." % rows_updated) approve.short_description = "Mark selected blogs as approved"
关于管理操作的文档非常有帮助,所以开始take a look!在
我认为写一个只更新未被拒绝的博客应该做的事。在
下面的代码假设您有变量
rejected
和approved
,它们分别映射到表示已被拒绝的博客和已批准的博客的积分值:相关问题 更多 >
编程相关推荐