2015-02-25 2 views
1

Мне нужно выполнить обработку пользовательских форм. Я думаю, что лучший способ пойти здесь - расширить метод ModelAdmin changeform_view, потому что он отвечает за обработку формы и вставку/обновление записей. Что-то вроде этого:Переопределение методов ModelAdmin Django

class ArticleAdmin(ModelAdmin): 
    # my custom form processing here 
    super(ArticleAdmin, self).changeform_view(self, request, object_id=None, form_url='', extra_context=None) 

Однако ничего не происходит. Я даже пытался взять это до крайности, и сделал это:

class ArticleAdmin(ModelAdmin): 
    def changeform_view(self, request, object_id=None, form_url='', extra_content=None): 
     pass 

Обновление объекта работает в нормальном режиме, я бы ожидал ничего, кроме этого.

Я перезапустил сервер разработки. Я понимаю, что некоторые части администраторов Django не так хорошо работают с перезагрузкой, поэтому я решил это уже.

Я что-то упустил?

Заранее спасибо.

UPDATE:

Я просто понял это. Для того, что я пытаюсь достичь, метод, который нужно расширить, - save_model().

def save_model(self, request, obj, form, change): 
    pass 

Надеюсь, это поможет.

+0

Глупый вопрос, но как вы регистрируете этот класс modeladmin? –

+0

@ DanielRoseman Нравится это: admin.site.register (Article, ArticleAdmin) – romeroqj

ответ

2

Я только что понял. Для того, что я пытаюсь достичь, метод, который нужно расширить, - save_model().

def save_model(self, request, obj, form, change): 
    pass 

Надеюсь, это поможет.

Смежные вопросы