Django ModelForm: как переопределить или проверить «save_as» - PullRequest
3 голосов
/ 10 марта 2011

Мне нужно добавить некоторые настройки для случая, когда экземпляр в Django Admin является «сохраненной_ас» копией.Могу ли я сделать это в save(), если да, то как проверить save_as kwarg?Или есть метод save_as(), который я могу где-то переопределить.Я не смог найти никакой информации о различиях в процессе между обычным save() и одним с save_as = True.

Может ли кто-нибудь указать мне пример или дать подсказку, куда идти?1008 *

Большое спасибо за потраченное время!

:)

1 Ответ

2 голосов
/ 10 марта 2011

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)
...