我有一个django项目,它有两个应用程序,一个是AppA
和AppB
。现在AppA
具有使用在我看来modelA = models.ForeignKey(ModelA, related_name='tricky')
Django反向查找ForeignKey
现在对于AppA
这是由模型ModelB
在AppB
引用的模型 ModelA
,当它显示ModelA
,我做了get_object_or_404(ModelA, pk=prim_id)
。然后我想要获得所有ModelB
的外键指向ModelA
。
文档说我应该做一个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()
,它返回正常查询但应用了过滤器。
可能是什么问题? ModelB
参考ModelA
的首选方法是什么?
啊,我搞砸了,应该叫ModelA.tricky.all()来让modelbs引用ModelA ...而不是我所拥有的是ModelB.tricky.all()Gah。 – rapadura 2010-11-14 23:21:31
如果你认为你描述了你的问题,请修改它是正确的。你也可以包含你的管理员代码! – 2010-11-14 23:32:19
@lazerscience,那我说得很对。 – rapadura 2010-11-15 07:53:08