Get all related Django model objects

后端 未结 9 1364
攒了一身酷
攒了一身酷 2020-11-27 09:46

How can I get a list of all the model objects that have a ForeignKey pointing to an object? (Something like the delete confirmation page in the Django admin before DELETE C

9条回答
  •  一向
    一向 (楼主)
    2020-11-27 10:30

    for link in links:
        objects = getattr(a, link).all()
    

    Works for related sets, but not for ForeignKeys. Since RelatedManagers are created dynamically, looking at the class name is easier than doing an isinstance()

    objOrMgr = getattr(a, link)
     if objOrMgr.__class__.__name__ ==  'RelatedManager':
          objects = objOrMgr.all()
     else:
          objects = [ objOrMgr ]
     for object in objects:
          # Do Stuff
    

提交回复
热议问题