【发布时间】:2023-03-14 19:06:01
【问题描述】:
我有一个函数,get_priority(),它对父类 (Chunk) 中的所有对象进行排序,以获得最高“优先级”对象。现在我想将相关的子类对象获取到超类对象。
Django docs on Multi-Table Inheritance 表明我可以通过使用子类的小写名称来做到这一点。例如,如果子类是 Concept,我可以执行以下操作:
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.
【问题讨论】:
标签: python django inheritance multi-table-inheritance