2011-03-10 129 views
3

我需要添加一些自定义项,以便Django Admin中的实例是“saved_as”副本。我可以在save()这么做,如果是的话,我该如何检查save_as kwarg? 还是有一个save_as()方法我可以重写的地方。我无法找到有关save()save_as = True之间的过程差异的任何信息。Django ModelForm:如何覆盖或检查“save_as”

有人能指点我一个例子或给我一个提示去哪里?

非常感谢您的时间!

:)

回答

2

http://docs.djangoproject.com/en/dev/ref/contrib/admin/#django.contrib.admin.ModelAdmin.change_view

另存为新的按钮是一个具有特定名称,_saveasnew提交元素,这意味着你可以检查按键是否通过_saveasnew POST参数的存在压制。

def change_view(self, request, object_id, extra_context=None):   
    if '_saveasnew' in request.POST: 
     # custom logic for save as new 
     print "I am saved as new" 
    return super(ModelAdmin, self).change_view(request, object_id, extra_context)