2009-10-15 3 views
0

Я использую GenerickStackedInline, который является подклассом InlineModelAdmin, который идет в ModelAdmin. Когда я переопределяю метод save_model ... он не вызывается.Переопределение ModelAdmin.save_model не называется

class LocatedItemStackedInline(generic.GenericStackedInline): 
    template = "admin/location_app/located_items/stacked.html" 
    model = LocatedItem 
    extra = 1 
    form = MyModelForm 
    raw_id_fields = ('location',) 

    def save_model(self, request, obj, form, change): 
     import ipdb;ipdb.set_trace() 
     super(LocatedItemStackedInline, self).save_model(request, obj, form, change) 

    def save_form(self, request, form, change): 
     import ipdb;ipdb.set_trace() 
     super(LocatedItemStackedInline, self).save_form(request, form, change) 

Итак, я что-то упустил?

Любой ключ?

С уважением

+0

Обнаружено, что save_model вызывается в contrib.admin.options, но до сих пор не знает, почему мой не вызван –

ответ

2

Проблема заключалась в том, что я переопределял метод save_model для InlineAdmin вместо самого ModelAdmin.

Сейчас называется ...

Cheers.

0

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

описывает функцию, которую вы говорите. Мое лучшее предположение заключается в том, что вы смущены тем, когда и где это будет вызвано. Кроме того, вы уверены, что работаете с последней версией?

Редактировать: Я предполагаю, что встроенные объекты ModelAdmin могут вести себя по-другому, учитывая их особый статус.

+0

Не совсем потому, что мне нужен объект запроса, чтобы использовать некоторые вещи из скрытых полей в форме. Почему я не могу использовать это? Документировано. Не реализовано? –

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