Django Admin不使用ModelManager的create方法

时间:2015-03-18 05:19:09

标签: django django-models django-admin

我是否在解释the default behavior of the Django Admin site to not use the ModelManager's create method?如果是这样,我将如何得到这种行为?

我的模型有一个定制的模型管理器,带有定制的create方法。

1 个答案:

答案 0 :(得分:3)

覆盖ModelAdmin.save_model()方法:

class MyAdmin(admin.ModelAdmin):

    def save_model(self, request, obj, form, change):
        if change:
            obj.save()
        else:
            new_obj = MyModel.objects.create(name=obj.name, ...)
            obj.pk = new_obj.pk