3

我正在研究Google App Engine應用程序,而且我在這方面比較新。Google App Engine上的django-nonrel - 爲ManyToMany使用ListField的影響

我已經在Django中構建了一個應用程序,並且有一個使用ManyToMany字段類型的模型。

我知道django-nonrel不支持Django的多對多字段類型。所以我正在考慮使用ListField。

問題:
- 使用ListField而不是ManyToMany的含義是什麼?
- 我知道這意味着Django的JOIN API無法使用。但是這對我的應用程序意味着什麼? - 在多對多領域搜索某些東西時,我會遇到問題嗎?

道歉,如果這些是編程101個問題。我是一位設計師,試圖讓我的頭腦發展。

感謝

回答

1

那麼你可能知道,你會更手動跨越的關係。 Django的幫助不如使用ManyToMany時多,但它不應該是一個大問題。

根據關係的複雜性,您可能需要考慮爲此建立一個模型。

我從來沒有使用GAE上的這種方法,因爲它IMO唯一有效的當一個對象已經很多關係(超過50個,我會說),或者當您打算將查找的事,會從中受益。也許是因爲他們從關係的任何一端開始,以相同的頻率開始,或者能夠遍歷關係以顯示它們或沿着這些線顯示它們是很好的。

上次我在GAE上做了一些事情因爲大多數對象只有大約20個相關對象,並且查找很少會以其他方式進行,所以我使用了ListField(或ListProperty)。

所以總而言之,這不是什麼大不了的事情,我不記得它是與任何一種工作/痛苦的痛苦。

希望這是儘管它是相當「IMO」

+0

感謝馬蒂亞斯很有幫助。這是我正在尋找/希望的那種答案。關係的數量將在20個左右。基本上我想要一組路線,然後將公交車連接到這些路線。所以,如果我要爲這種關係建立一個模型,我想這將是一個包含公共汽車和每條路線的模型? – iali 2010-10-07 08:34:45

+0

是的,它只是2個ForeignKeyFields。聽起來就像單獨的模型完美地適合你的用例。 – 2010-10-07 09:01:06

+0

感謝Mathias。 – iali 2010-10-07 22:32:39