我有一個函數get_priority()
,它通過父類(塊)中的所有對象進行排序以獲得最高的「優先級」對象。現在我想要將相關的子類對象轉換爲超類對象。Django - 如何從使用MTI的父類對象獲取子類型對象?
Django docs on Multi-Table Inheritance表明我可以通過使用子類的小寫名稱來完成此操作。例如,如果子類是概念,我可以做到以下幾點:
chunk = get_priority(Chunk.objects.all())
chunk.concept
然而,子類可以是概念,代碼,公式或問題。是唯一的方法來使用嘗試/除了每個子類,例如:
chunk = get_priority(Chunk.objects.all())
try:
object = chunk.concept
except:
pass
try:
object = chunk.code
except:
pass
# etc.