2013-09-27 55 views
2

我想顯示在管理後臺的模型只對超級用戶,但沒有工作人員的用戶,是不可能性?的Django「admin.site.register(......)」只有超級用戶

例如:

check which user is logged 
if superuser 

admin.site.register(model_1) 
admin.site.register(model_2) 
admin.site.register(model_3) 
... 

if staff_user 

admin.site.register(model_1) #show only one model in the admin 

謝謝

回答

3

它不能這樣的。您的admin.py模塊在進程啓動時被導入並撤銷一次,而不是每次進程處理請求時(希望否則它會很痛苦地慢)。該解決方案是使用Django的權限系統:https://docs.djangoproject.com/en/1.5/topics/auth/default/#permissions-and-authorization

+0

謝謝你布魯諾,我工作的系統上管理產品在數據庫中。用戶登錄,插入一些產品,然後有一個公共視圖向未登錄的用戶顯示它們。在這種情況下,最好給用戶提供員工權限還是爲他創建一個自定義後端?我的目標是擴展系統,讓任何用戶登錄,插入產品並管理它們。謝謝 – avafab

+0

真的取決於你的用戶是誰以及後端有多複雜。如果您只有一對技術熟練的用戶,並且默認(或幾乎默認)的管理員能夠滿足您的需求,那麼就讓他們成爲員工吧。對於其他任何我去定製後端。鑑於你最後的聲明,你明確想要一個自定義後端恕我直言。 –

+0

我的問題是,我需要一些與dgango管理嵌套內聯我無法在單個視圖中顯示多個嵌套內聯。我想要一個單一的視圖,其中員工用戶管理有關產品的所有數據。 - – avafab

相關問題