【发布时间】:2011-05-09 23:17:00
【问题描述】:
我有一个 django 项目,它有两个应用程序,一个是 AppA 和 AppB。现在AppA有模特
ModelA 被模型ModelB 在AppB 中引用,使用modelA = models.ForeignKey(ModelA, related_name='tricky')
现在在我看来 AppA,当它显示 ModelA 时,我执行 get_object_or_404(ModelA, pk=prim_id)。然后我想获取所有具有指向ModelA 的外键的ModelBs。
文档说我应该做一个mb = ModelB.objects.get(pk=prim_id) 然后mb.modela_set.all()
但是,它在mb.modela_set 上失败了,它显示为"ModelB object has no attribute 'suchsuch'"。请注意,我将 related_name 字段添加到 ForeignKey,因此我也尝试了该字段,包括 mb.tricky.all() 和 mb.tricky_set.all() 均无济于事。
哦,我已经为AppA 指定了一个不同的管理器,我在其中执行objects = MyManager(),它返回正常查询但应用了过滤器。
可能是什么问题?让ModelBs 引用ModelA 的首选方法是什么?
【问题讨论】:
-
啊,我搞砸了,应该调用 ModelA.tricky.all() 来让 modelbs 引用 ModelA ...而不是 ModelB.tricky.all() Gah。
-
如果您认为您的问题描述有误,请将其修改为正确的。您还可以包含您的经理代码!
-
@lazerscience,不,我描述的没错。
标签: python django model django-queryset