Django ImageFieldで画像を別のモデルに保存する方法は?
-
06-07-2019 - |
質問
チームのメンバーに関する簡単な情報を保存するメンバープロファイルアプリケーションがあります。プロファイルの一部は、アバターとして使用される画像です。 Photologue を使用して写真の標準ギャラリーを作成しましたが、 ImageModel は、Photologueのサイズ変更およびキャッシュ機能を利用するために拡張できます。 。
問題は、彼らが彼らのページに与える例がこのように見えることです:
from django.contrib.auth.models import User
from photologue.models import ImageModel
class UserPortrait(ImageModel):
user = models.OneToOneField(User, primary_key=True)
UserをMemberに置き換えることができますが、プロファイルの編集が2段階のプロセスになるという事実を除いて、すべてが良いでしょう。最初にメンバープロファイルを作成し、次にUserPortraitを作成してメンバーに関連付ける必要があります。 ImageFieldを使用しているかのように、これを単一ステップのプロセスに戻したいと思います。
フォームレベルとadmin.pyレベルでイメージフィールドをオーバーライドしましたが、これをモデルレベルまたはフィールドレベルで処理できるかどうか疑問に思っています。 ImageFieldのインライン機能を持ちたいが、ファイルは分離された関連モデルで管理したい。実際のモデルのインラインは、たった1つの画像であるため、過剰に思えます。
解決
メンバークラスはImageModelを拡張する必要があります。追加のクラス(UserPortraitなど)は必要ありません。
所属していません StackOverflow