複数の ImageFields を持つ Django モデルがあります。
私が設定したModelAdminクラスでsave_as = True
、つまり、管理ページには「新規として保存」ボタンがあり、既存のアイテムを複製して新規として保存できます。
ただし、このボタンを使用すると、ImageFields は複製されず、新しいアイテムでは空白のままになります。
POST リクエストを見ると、投稿データでこれらのフィールドが空白になっていることがわかります。
Model クラスの save メソッドをオーバーライドして、古いオブジェクトから自分で画像をコピーすることを考えました。しかし、私が把握できる限り、オブジェクトが「新品として」保存されていることを伝える方法はありません。また、古いアイテムのIDを持っていないようなので、古い画像を取得できません。
これらの画像フィールドも複製する方法はありますか?
編集: リクエストによりサンプルコードを追加しました。
モデルが 1 つだけのミニマルなアプリを作成しました。確認済みの問題がまだ発生する。
サンプルの models.py:
from django.db import models
class Person(models.Model):
face_image = models.ImageField(upload_to='images',
null=False,
blank=True)
サンプル admin.py:
from django.contrib import admin
from testapp.models import Person
class PersonAdmin(admin.ModelAdmin):
save_as = True
admin.site.register(Person, PersonAdmin)