2011-12-30 77 views
6

我想在django-admin界面的某個特定模型的某些外鍵字段中隱藏加號+符號。這是可能的?Django admin,隱藏+加號到特定的外鍵字段

在此先感謝!

+1

這個問題有一個很好的答案[這裏](http://stackoverflow.com/a/17348422/1378264) – 2015-06-28 19:25:09

回答

2

如果你只是爲了美觀而隱藏它,我會使用一個隱藏這個'+'符號的JavaScript腳本。

docs中所述,您可以使用Media內部類將自定義Javascript源添加到Admin Modelform中。事情是這樣的:

class MyModelAdmin(admin.ModelAdmin): 
    class Media: 
     js = ("js/hide_myfield_addlink.js",) 

JavaScript源代碼看起來是這樣的:

/* file: hide_myfield_addlink.js */ 
django.jQuery(document).ready(function() { 
    django.jQuery("#add_id_myfield").hide(); 
}); 

在另一方面,如果這些管理員用戶永遠能夠添加這樣的模式,不給他們允許添加這些。那麼這些添加鏈接將永遠不會顯示。

3

當外鍵的模型也可以添加到管理中時,添加+並基於用戶對該模型的權限。如果用戶不能添加這些類型的模型,請在外鍵ModelAdmin(即加號允許添加的那個)上覆蓋has_add_permission,並在適當的條件下返回False。對於任何不允許的用戶,+將消失。