我试图找到一种方法来根据提供的用户过滤页面对象的管理查询集,我考虑过什么(伪代码):
from feincms... Page
class MyPageAdmin(PageAdmin):
def __init__(self, *args, **kwargs):
'monkey business'
super(MyPageAdmin, self).__init__(*args, **kwargs)
admin.site.unregister(Page)
admin.site.register(Page, MyPageAdmin)
这是行不通的,因为 feincms 会检查一个完全加载的 django 实例。一个详细的解决方案可能是根本不加载页面模块,并且覆盖页面模型对象或管理员,例如:
from feincms... PageAdmin
class MyPage(Page):
objects = CustomManager()
admin.site.register(MyPage, PageAdmin)
文档说明可以以类似的方式设置您自己的页面模块,但对于一个简单的要求,似乎需要进行很多配置。
有没有更简单的方法来覆盖 feincms 模块的管理查询集或模型管理?