Skip to main content
 首页 » 编程设计

python之在 Django 中获取所有相关的模型类

2025年05月04日29mfrbuaa

我正在尝试获取所有具有外键关系的相关模型类实例的列表,以便我可以执行类似 model._meta.fields..

这是我目前所拥有的:

for related_object in A._meta.get_all_related_objects(): 
        related_name = related_object.field.rel.related_name 

但我不确定如何获取相关模型类..

感谢您的帮助!

请您参考如下方法:

在上一个Django版本(1.8)中,options对象有一个名为related_objects的属性;它将返回一个包含所有对外关系定义的可迭代对象到适当的模型。可以检查每个这样的关系的属性:

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 

可迭代的 related_objects 表示与 A 模型的“反向”关系(ManyToOneRel、ManyToManyRel)。

如果不明显,则由字段定义而不是模型定义驱动,这意味着相关模型将具有与它具有的 A 模型的 ForeingKey 字段一样多的条目。