想聽聽您的意見。在目前的階段(1.1),你會在django中使用泛型關係還是堅持更傳統的建模 - 考慮到它很難輕鬆地遍歷和過濾這些關係(與ForeignKey,ManyToMany,OneToOne關係相比)?Django中的泛型關係
這裏有一個例子 - 當每個用戶最後一次看到每個頁面時,他/她決定「關注」一篇文章時,他們希望接收電子郵件更新的頻率以及他們何時請求最後一次,這種電子郵件最後發送給用戶和頁面修訂日誌。
因此構建一個有意義的電子郵件摘要我必須構造挺重的查詢,以便用戶不會獲得更多的電子郵件比他們要求和消息是最翔實和簡短。
一種方法 - 定義Activity模型,可以適應任何場景,並使用通用關係將它們連接到其他模型,另一種方式 - 定義單獨的模型PageView,EmailUpdateLog,EmailSubscription並以「常用方式」訪問它們。
使用通用關係的缺點 - 它很難編寫複雜的查詢,他們會運行速度較慢,上升空間 - 在模型更少的代碼和廣義對象更容易獲得(例如活動)。
您是否發現了一種通用關係爲您帶來巨大優勢的場景,除了只是一個有趣的概念?
也許你發現了一些其他的方式來模擬泛型關係?
謝謝。
「對於某些情況,這很好,對於某些情況它不好。」謝謝你沒有說什麼。 – 2009-11-29 10:31:24