1

私はDjangoで簡単なプロジェクトを作成して、PythonとPythonについての知識を深めています。基本的には、ブックマークとタグを保存するだけで、両方にビューがあり、3つのモデルがあります。
タグ
ブックマーク
Bookmark_Tag(関係)

djangoドキュメントの「ProjectsvsApps」パネルを読みましたが、レイアウト方法がわかりません。ブックマーク用の別のアプリとタグ用の別のアプリがある場合は、すべて1つのブックマークアプリ内にあります。 、もしそうなら、関係のモデルはどこにありますか?

ありがとう!

4

1 に答える 1

5

いいえ、それぞれに個別のアプリは必要ありません。それらは密接に関連しており、別々にではなく、一緒にアプリを定義しているように聞こえます。後で、同じデータベースと設定を使用しているが、現在のアプリとあまり共有していない別の機能をサイトに追加した場合、それは同じプロジェクト内の別のアプリになります。

このサイトのDjangoプロジェクトmodels.pyとappmodels.pyおよびDjango :「projects」と「apps」 、およびDjangoのヒント:アプリケーションのレイアウトを参照してください。

Bookmarksとsに多対Tag多の関係があり、その関係にフィールドを追加する必要がある場合(id関連するオブジェクトのsだけでなく)、を使用してテーブルManyToManyFieldを設定できます。through

class Bookmark(models.Model):
    # whatever fields you need on Bookmark
    tags = models.ManyToManyField('Tag', through = 'BookmarkTag')

class Tag(models.Model):
    # whatever fields you need on Tag
    pass

class BookmarkTag(models.Model):
    bookmark = models.ForeignKey(Bookmark)
    tag = models.ForeignKey(Tag)
    # whatever additional fields you need on the relationship

詳細については、多対多の関係に関する追加フ​​ィールドに関するDjangoのドキュメントを参照してください。

于 2012-04-10T18:21:51.717 に答える