2009-11-25 75 views
2

我想寫一個Django管理員動作(使用當用戶選擇零或更多行),將允許他們編輯所選項目作爲一組。我只需要編輯在時間模型(以下簡稱「房」)的項目之一,但我不希望有經過我的所有對象480和手動編輯它們一個接一個。Django Admin「編輯選擇」操作?

有沒有辦法來扔了插頁,允許用戶編輯的項目作爲一個羣體?

回答

-1

有可能是在管理員做的方式,但爲什麼不創建一個自定義視圖來做到這一點?

當你開始進入管理的重定製,它表明你應該開始編寫自定義應用程序,你可以很容易地修改。使用generic views實現管理員的大部分功能實際上非常簡單。

記住,「The Admin is not your app.

3

您可以創建自定義的管理操作,並使用JavaScript或自定義ModleForms你可以很容易地創建彈出窗口或警告,或任何你想做的事情。例如,我有這個在管理我的應用程序之一:

admin.py:

def deactivate_selected(modeladmin, request, queryset): 
    rows_updated = queryset.update(active=0) 
    for obj in queryset: obj.save() 
    if rows_updated == 1: 
     message_bit = '1 item was' 
    else: 
     message_bit = '%s items were' % rows_updated 
    modeladmin.message_user(request, '%s successfully deactivated.' % message_bit) 
deactivate_selected.short_description = "Deactivate selected items" 

## add deactivates 
admin.site.add_action(deactivate_selected) 

這增加了在管理頁面「去激活所選項目」的選項。

在我看來,爲自定義操作「更新選定項目的空間」提供JavaScript提示,接受該輸入並將其提供給自定義操作函數以執行所需操作將很容易去做。

多看書可以在此在這裏找到:Writing Django Admin Actions