2

对于网站上的用户,使用数据库在 Django 中存储信息的最佳方式是什么。我正在处理的网站有以下部分:

  1. 一种聊天室,用户可以在其中发表评论。
  2. 一组对其他用户公开的文档。
  3. 对每份文件的审查

问题是,文件应该存储在哪里?(我不知道每个人会有多少)。对于每个文档,评论应该存储在哪里?(我不知道会有多少评论)。

我对 Django 很陌生,刚开始买我买的书,但需要开始计划才能在 8 月之前完成(对于这么新的人来说,这甚至可能吗?)。

4

2 回答 2

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(...)

等等...

于 2012-05-19T02:30:49.850 回答
1

保罗的回答很到位。但我还要补充一点,您应该仔细阅读FileField的文档。

文档通常存储在文件系统的目录中。数据库(根据保罗的回答)将包含对该位置的引用。Django 几乎可以使用 FileField 自动为您执行此操作,因此只需阅读并确保您理解它。

于 2012-05-19T06:39:27.180 回答