我正在尝试获取具有外键关系的所有相关模型类实例的列表,以便我可以执行类似model._meta.fields
的操作..
这是我到目前为止所做的:
for related_object in A._meta.get_all_related_objects():
related_name = related_object.field.rel.related_name
但我不确定如何获得相关的模型类..
感谢您的帮助!
答案 0 :(得分:1)
在上一个Django版本(1.8)中,options对象有一个名为related_objects的属性;它将返回一个带有所有外部关系定义的iterable到模型。可以检查每个这样的关系的属性:
for relation in A._meta.related_objects:
print(relation.related_model) # model which has foreign keys to A
print(relation.field.name) # name of the foreign key field
iterable related_objects表示A模型的“反向”关系(ManyToOneRel,ManyToManyRel)。
如果不明显,则由字段定义而不是模型定义驱动,这意味着相关模型将具有与其所具有的A模型一样多的ForeingKey字段条目。
答案 1 :(得分:0)
您可以使用.model
获取班级名称
for related_object in A._meta.get_all_related_objects():
print related_object.model
也许this问题/答案对您也有用。