2

Webサイトのユーザーにとって、データベースを使用してDjangoに情報を保存するための最良の方法は何ですか。私が取り組んでいるWebサイトには、次のセクションがあります。

  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のドキュメントを注意深く読む必要があることも付け加えておきます。

ドキュメントは通常、ファイルシステム上のディレクトリに保存されます。データベース(Pauloの回答による)には、場所への参照が含まれます。DjangoはFileFieldを使用してほぼ自動的にこれを行うことができるので、それを読んで理解していることを確認してください。

于 2012-05-19T06:39:27.180 に答える