2012-08-22 73 views
0

如果應用程序中的模型具有非常大的文本屬性 甚至長文本將不能包含它,一種可能的方式來存儲它似乎存儲它在一個文本文件中並使用文本位置作爲數據庫的字段。然而,我不確定這樣的策略是什麼適合命名這個屬性?當一個模型的屬性是一個巨大的文本

例如,假設我們有:

class Novel(models.Model): 
    ???? = models.CharField(max_length=200) 

我應該命名此屬性novel_text或novel_text_path? 這是存儲巨大文本的正確方法嗎?

我希望這似乎不是一個愚蠢的問題。

謝謝。

+0

儘可能描述性地,準確地命名它,而不會變得冗長。這將使其他人更容易處理您的代碼。 –

回答

1

如果你想把這個文本存儲在一個單獨的文件中,我會建議將它命名爲novel_text_file或類似的東西,使它儘可能清晰和合理,而且Pratik寫道我會使用Django的文件區。

但我不認爲這是存儲這種數據的最佳解決方案。想象一下,如果你需要擴大你的系統。將數據存儲在文件中使其變得非常困難。您必須將文件同步到所有服務器或共享它們。

一個可能的解決方案是使用MongoDB的GridFS。這可能很有用:http://django-mongodb.org/topics/gridfs.html

3

你試過了Django的TextField?它適用於需要存儲長文本的情況。

+0

我的問題更多的是關於軟件工程方法,而不是一個框架的可能解決方案,儘管非常感謝。 – Cupitor

+1

+1。最簡單的解決方案是最好的解決方案。 Plus將它作爲數據庫中的實際數據存儲,可以提供更多功能(搜索等)。 –

1

您應該將它命名爲與file_path類似,因爲它就是這樣。也可以使用Django Model FileField

+0

-1。 ''file_path''?什麼文件? –

+0

如果你仔細閱讀這個問題,你會看到他打算存儲文件:'其存儲在一個文本文件,並使用文本位置作爲database' –

+0

我得到的,我的觀點是,在訪問的人的領域數據庫,名稱'file_path'意味着什麼。什麼文件?這是一個文件,當然,但它是什麼?這是更緊迫的問題。 –