2012-05-19 55 views
2

對於網站上的用戶,什麼是在Django存儲信息與數據庫的最佳方式。我正在處理的網站有以下幾部分:存儲用戶信息的Django

  1. 一種聊天室,用戶可以發表評論。
  2. 一組是公開給其他用戶的文檔。
  3. 評價每個文檔

的問題是,應該在哪裏的文件儲存在哪裏? (我不知道每個人會有多少人)。對於每個文檔,應該在哪裏存儲評論? (我不知道會有多少評論)。

我很新的Django和纔剛剛開始這本書我買了,但需要,以便開始規劃得到它在八月完成(是,即使有人這樣新的可能嗎?)。

回答

5

直截了當OOP,你應該爲每個工件模型(對象) - 例如:

class ChatComment(models.Model): 
    owner = models.ForeignKey(User) 
    when = models.DateTimeField(auto_now_add=True) 
    message = models.CharField(...) 
    ... 
    chatroom = models.ForeignKey(ChatRoom) 

class PublicDocument(models.Model): 
    owner = models.ForeignKey(User) 
    created = models.DateTimeField(auto_now_add=True) 
    title = models.CharField(...) 
    payload = models.FileField(...) 

class DocumentReview(models.Model): 
    author = models.ForeignKey(User) 
    document = models.ForeignKey(PublicDocument) 
    when = models.DateTimeField(auto_now_add=True) 
    text = models.CharField(...) 

等等......

1

保羅的答案是當場上。但我也想補充一點,你應該閱讀仔細FileField的文檔。

的文件一般會被存儲在文件系統中的目錄。數據庫(根據Paulo的答案)將包含對該位置的引用。 Django的可以爲你幾乎是自動使用的FileField所以只是通過閱讀,並確保你瞭解它做到這一點。