3
我正在使用比我預期的增長更多的django應用程序,現在需要歸檔一些數據,以免它減慢最終查詢速度。我的問題是,歸檔現有模型的最佳方法是什麼?以下是我迄今認爲:在Django中存檔模型數據
1 - 創建一個繼承的模型:
class OriginalModel(models.Model):
...
field = models.CharField(etc...)
...
class ArchivedModel(OriginalModel):
pass
2 - 創建post_save方法,所以每當東西保存到我的原始模型,將創建一個存檔實例,以及。
3 - 在我的原始模型上用芹菜創建一個清除任務,僅保留相關數據。
但我不確定如果模型繼承將按我期望的那樣工作。如果有人對此有任何意見,我將不勝感激。
最好的解決方案取決於您的項目的具體細節。一旦我像接受的答案那樣做了。它在Django的觀點中把一大堆事情複雜化了。像試圖通過管理界面查找記錄一樣平庸:如果記錄已歸檔,那麼我必須在歸檔中搜索,如果沒有,那麼我在主表中搜索。哦,這是可以克服的,但是在ORM級別的這種分裂很快會蔓延到各處。隨着項目的成熟,我最終還是隻有一張桌子。像你提到的性能問題應該在數據庫層面解決。 – Louis