我有一個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