我有两个具有不同SITE_ID的网站,但我希望这两个网站只有一个管理界面。
我有一个模型,它只是一个扩展的FlatPage:
# models.py
class SFlatPage(FlatPage):
currobjects = CurrentSiteManager('sites')
galleries = models.ManyToManyField(Gallery)
# etc
# admin.py
class SFlatPageAdmin(FlatPageAdmin):
fieldsets = None
admin.site.register(SFlatPage, SFlatPageAdmin)
admin.site.unregister(FlatPage)
我不知道为什么,但管理界面中只有当前网站的页面。在http://site1.com/admin/我看到site1的flatpages,http://site2.com/admin/我看到site2的flatpages。但是我希望看到http://site1.com/admin/界面中的所有页面!我做错了什么?
答案 0 :(得分:1)
这是因为CurrentSiteManager
。根据{{3}}“它是一个模型管理器,它自动过滤其查询以仅包含与当前站点关联的对象。”
删除该行,每个应该按预期工作。或者如果您在代码中的其他地方使用currobjects
,请注意管理界面始终使用指定的第一个管理器,因此您需要首先指定标准管理器,如下所示:
# models.py
class SFlatPage(FlatPage):
objects = models.Manager() # Is first, so will be used by admin
currobjects = CurrentSiteManager('sites') # your alternative manager
galleries = models.ManyToManyField(Gallery)