获取django对象的一对多集属性的名称

时间:2013-06-14 21:09:56

标签: python django model

我已经看到你可以通过调用

从django模型对象中获取所有字段名称
model_instance._meta.fields

但这不包括一对多访问者。例如,如果我有House模型和Room模型,并且Room有House的外键字段,则House上的属性现在称为room_set。如何获取模型实例的这些属性名称列表?

由于

1 个答案:

答案 0 :(得分:2)

不确定这是最好的方法,但它确实有效:

from django.db.models.fields.related import ForeignRelatedObjectsDescriptor
print [prop for prop in dir(House) if isinstance(getattr(House, prop), ForeignRelatedObjectsDescriptor)]

将打印:

['room_set']