python - 获取 django 对象的一对多设置属性的名称

标签 python django model

我发现你可以通过调用从 django 模型对象中获取所有字段名称

model_instance._meta.fields

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

谢谢

最佳答案

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

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

将打印:

['room_set']

关于python - 获取 django 对象的一对多设置属性的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17117318/

相关文章:

python - Scrapy 蜘蛛内存泄漏

django - 带嵌套过滤器的Django注释

php - 在 Phalcon 中附加相关模型

python - 如何将 python 表达式嵌入到 :s command in vim?

Python:没有名为 contextlib 的模块?

python - 同时使用组和个人权限

python - 如何在模板中显示 PIL Image 对象?

asp.net-mvc - 如何在分组列表中发布已编辑项目的模型?

python - 使功能可供所有模型使用

python - reshape Pandas Dataframe 的最佳方式