2008-10-07 79 views
47

想知道是否有一種簡單的方法來添加功能來複制管理界面中的現有列表?在Django管理界面中,是否有複製項目的方法?

在數據錄入,我們遇到了在那裏有很多的項目與其他項目共享通用數據的情況,爲了節省時間,將是非常好的,可以快速複製現有的房源,只有改變更改的數據。使用更好的模型結構將是減少數據重複的一種方法,但可能會出現未來重複數據需要個別更改的情況。

回答

83

您可以通過save as只允許添加這對您的ModelAdmin:

save_as = True 

這將替換「保存並添加另一個」一個按鈕「另存爲」按鈕。 「另存爲」表示該對象將被保存爲新對象(帶有新ID),而不是舊對象。

+1

的這個實施不明顯給我,我發現[另一個問題的標題爲「樣品admin.py」](http://stackoverflow.com/questions/18577324/django-save-as-new-and- keep-image-fields)表明您需要從ModelAdmin派生,然後使用`admin.site.register(Person,PersonAdmin)`(如果PersonAdmin是您的派生類)而不是使用`admin.site.register(Person) ` – sage 2016-06-21 19:07:49