Django:找出继承层次结构中哪个表具有该字段

时间:2011-04-10 11:38:42

标签: django inheritance model field

考虑以下示例:

class Base(models.Model):
    myfield = models.CharField()
class Derived(Base):
    pass

现在,基类和派生类将在数据库中具有不同的表。

我的问题是如何找出myfield属于哪个表?

1 个答案:

答案 0 :(得分:1)

使用_meta.get_fields_with_model()方法:

for field, model in Derived._meta.get_fields_with_model():
    if field.name == 'myfield':
        model = model or Derived
        print 'myfield belongs to %s' % model._meta.db_table