私は親クラス(チャンク)内のすべてのオブジェクトをソートして最も高い優先度のオブジェクトを取得する関数get_priority()
を持っています。今私は関連するサブクラスオブジェクトをスーパークラスオブジェクトに取得したいと思います。Django - MTIを使用して親クラスオブジェクトから子タイプのオブジェクトを取得するにはどうすればよいですか?
Django docs on Multi-Table Inheritanceは、サブクラスの小文字の名前を使用してこれを行うことができます。サブクラスがコンセプトだった場合たとえば、私は次のことを行うことができます:
chunk = get_priority(Chunk.objects.all())
chunk.concept
はしかし、サブクラスは概念、コード、式または問題である可能性があります。各サブクラスにtry/exceptを使用するには、これにアプローチする唯一の方法です(例:
)。
chunk = get_priority(Chunk.objects.all())
try:
object = chunk.concept
except:
pass
try:
object = chunk.code
except:
pass
# etc.