2014-01-31 49 views
0

我不知道爲什麼用戶沒有看到所有的應用程序,爲什麼用戶Staff status。正如Superuser我可以看到安裝的所有應用3:Django中的多個應用程序管理員

  • 後端
  • 後臺辦公室
  • 投票

在用戶與Staffstatus我只有Backoffice可用。對於每一個應用程序,我在admin.py做:

from django.contrib import admin 
from <AppName>.models import <Class1, Class2, ...> 

... 
... 
admin.site.register(Class1) 
admin.site.register(Class2) 
... 
admin.site.register(ClassN) 

這裏是權限區域的截圖:

enter image description here

在哪裏投票?後端在哪裏? 那麼我錯過了什麼?

回答

0

抱歉,讓大家,但很多搜索和反覆試驗後,我找到了正確的解決辦法是增加在所有的模型類backend.models如下:

class Meta: 
    app_label = 'backend' 

現在,這些車型都可見在管理界面時admin.autodiscover被調用。

0

您需要更改權限才能查看該應用程序。 Django沒有單獨的「查看」權限。

+0

你是什麼意思我需要改變權限?它不在那裏,那我該如何改變它? – Oz123

+0

@ Oz123您需要爲工作人員用戶更改您希望他們能夠查看的任何應用程序的權限。 –

+0

我會這樣做,如果我可以,整個問題的關鍵是這樣的:其他應用程序不會從那裏挑選... – Oz123

0

在admin.py試試這個:

class ClassAdmin (admin.ModelAdmin): 

    def formfield_for_manytomany(self, db_field, request=None, **kwargs): 
     if db_field.name == 'user_permissions': 
      kwargs['queryset'] = Permission.objects.filter(content_type__app_label="{{NAME_OF_APP}}") 
     return super(ClassAdmin, self).formfield_for_manytomany(db_field, request=request, **kwargs) 
+0

其中admin.py全部在哪裏?記住我有3個,每個應用程序一個... – Oz123

+0

在每個管理應用程序 –

相關問題