0
我想动态获取模型的向后外键管理器。Django向后外键管理器
如果我有:
class modelA(models.Model)
name = models.CharField(max_length=100)
class modelB(models.Model)
fk = models.ManyToManyField(modelA)
From the docs我可以看到,我可以通过执行获得向后外键经理:
a = modelB.modela_set
在shell这给了我
django.db.models.fields.related_descriptors.create_forward_many_to_many_manager.<locals>.ManyRelatedManager
我可以做
a.all()
并得到结果。
但是如果我有字符串 'MODELA',我做的事:
a = getattr(modelB, 'modela_set')
我会得到
django.db.models.fields.related_descriptors.ManyToManyDescriptor
,如果我这样做:
a.all()
我得到一个属性错误。
我不明白为什么getattr()是这样表现的。
有没有办法做到这一点?