2010-01-31 94 views
7

我上添加標記一個Django博客模式,它提到的文章作爲的StringList和一個單獨的對象保持標籤讀取similar question保持這些對象的數量,這是個好因爲我自己基本上想出了同樣的想法,但是我正在努力工作以怎樣保持計數。實施代碼

我重寫把主要對象的()方法,但如何檢查,看看是否標記是否比當前存儲的對象變了嗎?有沒有辦法以低廉的成本檢查現有的數據而無需獲取對象的第二個副本?

處理它的一種方法是將每個對象存儲在內存緩存中,並只抓取那些在其中找不到的對象,但對於繁忙的站點,您仍然會經常碰到數據存儲。

+0

如果這仍是與你有關的,下面是關於對'ndb.Model'衍生品混入一個[博客文章,我寫(http://brianmhunt.github.io/articles/ndb-tags/)。 – 2014-04-04 14:13:16

回答

6

退房taggable-mixin。這是一種非常簡單的方法,可以將標籤添加到任何AppEngine模型類中作爲mixin。

+0

感謝Adam的回答,我在Django下做了一些工作來實現它,但它確實只有一點點。 我已經更新了,用它與我不得不做的就是它的工作,並郵寄回給你的的TW。 – 2010-01-31 16:06:01

+0

斯圖爾特!非常感謝!回報你發現的東西,你非常體面。 – 2010-02-01 03:22:42

+0

taggable-mixin有一個缺陷,它會保存標記模型中所有標記實體的列表。 如果你有大量的實體(認爲例如像StackOverflow上的系統)標籤實體會爆炸。 它更好地保存在標籤實體中的引用 - 每個實體都有一個標籤列表。 – 2010-09-13 19:08:00