2012-04-11 83 views
0

我一直在閱讀有關django中的模型繼承,並發現許多人不是爲它,但我不是100%確定爲什麼。Django |建立與博客文章類型繼承有關的模型的建議

所以我有一個問題,你認爲模型的繼承是不好的所有人。

我有一個案例,我有一個博客模型的許多子類型。

例如讓我們說post1是一種常見的帖子類型,post2是一種音頻帖子類型。這兩種郵政類型都有一個標題和日期以及其他常用字段,但也有專門用於各自用途的唯一字段。

第一個問:爲Post1和Post2創建模型的最佳方法是什麼? 第二個問題:按照日期排列的所有帖子類型列出博客名單的最佳方式是什麼?

- :編輯: - 我不希望這是一個辯論如果模型/數據庫的繼承是好還是壞,我只是想找到一個對比,我認爲可以做。我已經在oop世界中多次討論過關於繼承與組合設計的爭論,我知道我可以在django中使用繼承,但是我想學習如何將其作爲組合設計模式來實現。

下面是針對此問題,概述了一些我與DB繼承發現http://ankhos.com/2010/01/15/django-polymorphism-mixins-vs-inheritance-models/

+1

誰反對模型繼承?他們的問題是什麼? – Marcin 2012-04-11 15:42:41

+0

詹姆斯貝內特Django深入說,「他不認爲數據庫級繼承是一個好主意」,如http://youtube.com/embed/t_ziKY1ayCo在1:29:20 – 2012-04-11 15:58:56

+0

所見,所以,一個人有一個它的問題。 – Marcin 2012-04-11 16:27:32

回答

1

1Q的問題,很好看的:你需要像多態性,以節省您的兩類職位的一個博客。我真的很喜歡這種方法:

Manager-based polymorphic model inheritance

2Q:這是很好的文檔字符串解釋。

編輯:讀你的編輯。看起來你想嘗試其他方法。

+0

非常感謝。我會閱讀並告訴你我的想法。關於整個繼承和組合,很高興看到繼承的對比,但我也想用最好的方法,如果這段代碼可以解決當前db分支繼承問題,那麼很好:) – 2012-04-11 16:30:09

+0

那麼這是如何影響性能的。我已經使用ContentType解決數據庫繼承問題,並發現我更喜歡db。 – 2012-04-11 16:39:05

+0

找出並告訴我們:) – seb 2012-04-11 20:32:26