基本のDjangoモデルと、それをサブクラス化するプロキシモデルがあります。それらはすべてのメソッドをオーバーライドします。基本モデル(つまりfor i in BaseModel.objects.all()
)のすべてのインスタンスを反復処理する必要がありますが、基本クラスで宣言されたプレースホルダーメソッドの代わりに、対応するプロキシクラスのメソッドを呼び出すことができます。
どうすればこれにアプローチできますか?私は実際に、どのプロキシモデルが各特定のインスタンスに対応するかを決定できるモデルフィールドを持っています。たぶん私はそれを利用して、基本クラスをサブクラスにキャストすることができますか?私は途方に暮れています。
編集:私はこの質問を見て、に書き込むことによってクラスを変更することができましたself.__class__
。しかし、それはDjangoで安全に使用できますか?