未调用ModelAdmin.save_model的覆盖

时间:2009-10-15 14:06:00

标签: django django-admin modeladmin

我正在使用GenerickStackedInline,它是InlineModelAdmin的子类,它转到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)

所以,我错过了什么?

有任何线索吗?

此致

2 个答案:

答案 0 :(得分:2)

问题在于我覆盖了InlineAdmin上的save_model方法而不是ModelAdmin本身。

现在被称为......

干杯。

答案 1 :(得分:0)

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

描述了您正在谈论的功能。我最好的猜测是,你对于调用的时间和地点感到困惑。另外,你确定你真的在使用最新版本吗?

编辑:我猜测内联的ModelAdmin对象可能会有不同的行为,因为它们具有特殊的状态。