Хранение информации о пользователе Django

Для пользователей на веб-сайте, как лучше всего хранить информацию в Django с базами данных. Сайт, над которым я работаю, имеет следующие разделы:

  1. Своего рода чат, где пользователи могут оставлять комментарии.
  2. Набор документов, общедоступных для других пользователей.
  3. Рецензии на каждый документ

Вопрос в том, где хранить документы? (Я не знаю, сколько будет у каждого человека). Где должны храниться отзывы для каждого документа? (не знаю, сколько отзывов будет).

Я очень новичок в Django и только что начал книгу, которую купил, но мне нужно начать планирование, чтобы закончить ее к августу (возможно ли это вообще для кого-то такого новичка?).


person sinθ    schedule 19.05.2012    source источник


Ответы (2)


Прямо ООП, вы должны просто создать модель (объект) для каждого артефакта, например :

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

И так далее...

person Paulo Scardine    schedule 19.05.2012