2011-07-21 15 views
0

我有一個模型,我不希望用戶手動添加/刪除對象。相反,我想要一些Get按鈕,一旦點擊後,它會執行一些代碼並自動更新數據庫。 我能夠通過添加我自己的管理操作來做類似的事情。但是,默認添加管理員操作意味着您必須至少有一個模型對象,選擇該對象並執行一些操作。 我希望能夠在空模型上執行我的自定義操作(如果我可以用索引頁上的Get按鈕替換Add按鈕,它將會是完美的)。有沒有辦法做到這一點?謝謝!替換添加獲取Django管理網站

回答

0

你可以覆蓋django管理模型的add_view方法,並做任何你覺得有視圖做的事情,如果你想。通過ModelAdmin的代碼打開,你可以看到它的默認設置

你也可以看看這個項目:https://github.com/imtapps/django-admin-ext,看看如何註冊一個管理員自己的網址的例子...所以你可以讓你的看法類似於admin/myproject的/ MYAPP /模型/獲取和擁有它,你想什麼......

0
  1. 您可以防止用戶通過刪除「可以添加MODELNAME」允許添加新對象來自該用戶。如果他們是一個超級用戶,但實際上並不會阻止他們這樣做。

  2. 管理員操作旨在在模型的特定實例上運行;如果這不是你的代碼在做什麼,你可能不應該走這條路。您可以爲您的模型override the admin template並添加一個新的按鈕或鏈接到您的自定義視圖。您也可以從模板中刪除添加按鈕,但我建議使用權限。