Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 多个站点的一个管理员_Django_Django Admin_Django Sites - Fatal编程技术网

Django 多个站点的一个管理员

Django 多个站点的一个管理员,django,django-admin,django-sites,Django,Django Admin,Django Sites,我有两个不同站点ID的站点,但我希望两个站点都只有一个管理界面 我有一个模型,它只是一个扩展的平面页面: # models.py class SFlatPage(FlatPage): currobjects = CurrentSiteManager('sites') galleries = models.ManyToManyField(Gallery) # etc # admin.py class SFlatPageAdmin(FlatPageAdmin):

我有两个不同站点ID的站点,但我希望两个站点都只有一个管理界面

我有一个模型,它只是一个扩展的平面页面:

# 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)

我不知道为什么,但在管理界面中只有当前站点的页面。在上,我看到site1的flatpages,在上,我看到site2的flatpages。但我想看到界面中的所有页面!我做错了什么?

这是因为
CurrentSiteManager
。根据“这是一个模型管理器,它会自动过滤其查询,以便只包含与当前站点关联的对象。”

拆下管线,所有操作都应按预期进行。或者,如果您在代码中的其他地方使用了
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)

那个经理怎么了?您的意图是什么?标准对象管理器是否正在执行任何操作?噢,谢谢。我一直在想,我的自定义名称的自定义管理器不会覆盖默认的管理器