2012-05-19 58 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所以只是通过阅读,并确保你了解它做到这一点。