DjangoのAdmin画面でモデルがSaveされた時の挙動をカスタマイズする

Admin画面でモデルをSaveした時の挙動をカスタマイズしたいときは


save_model(self,request,obj,from,change)
 

メソッドをカスタマイズすればいい。 objにはモデルのインスタンスが入っている。

以下は画像のファイル名をユニークな名前に置き換える例。


class YourAdmin(admin.ModelAdmin):
    model = YourModel

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

        """
        It called when obj save.
        """

        u = str(uuid.uuid4())
        if 'photo' in request.FILES:
            request.FILES['photo'].name = u+'.png'
            monster.photo = request.FILES['photo']
        monster.save()



admin.site.register(YourModel,YourAdmin)
 

Related Contents

Pickup Contents