Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django项目/应用程序布局-正确方式?_Django_Django Models - Fatal编程技术网

Django项目/应用程序布局-正确方式?

Django项目/应用程序布局-正确方式?,django,django-models,Django,Django Models,我正在Django中创建一个简单的项目,以加深我对it和Python的了解,基本上只是存储书签和标记,它们都有视图,并且将有3个模型: 标签 书签 书签标签(关系) 我阅读了django文档中的“项目与应用程序”面板,但我仍然不确定如何布局,现在它都在一个书签应用程序中,是否应该有一个单独的书签应用程序和一个单独的标签应用程序,如果是这样,关系模型在哪里? 谢谢 不,您不需要为每个应用程序单独安装应用程序。它们是密切相关的,听起来它们共同定义了你的应用程序,而不是单独定义的。如果以后,您在站点中

我正在Django中创建一个简单的项目,以加深我对it和Python的了解,基本上只是存储书签和标记,它们都有视图,并且将有3个模型:
标签
书签
书签标签(关系)

我阅读了django文档中的“项目与应用程序”面板,但我仍然不确定如何布局,现在它都在一个书签应用程序中,是否应该有一个单独的书签应用程序和一个单独的标签应用程序,如果是这样,关系模型在哪里?


谢谢

不,您不需要为每个应用程序单独安装应用程序。它们是密切相关的,听起来它们共同定义了你的应用程序,而不是单独定义的。如果以后,您在站点中添加了另一个功能,该功能使用了相同的数据库和设置,但没有与当前应用共享太多其他功能,那么这将是同一项目中的另一个应用

有关更多指南,请参阅本网站上的和

如果
Bookmark
s和
Tag
s具有多对多关系,并且需要向该关系中添加额外字段(而不仅仅是相关对象的
id
s),则可以使用
ManyToManyField
并通过
表设置

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文档。

不,您不需要为每个应用程序单独安装应用程序。它们是密切相关的,听起来它们共同定义了你的应用程序,而不是单独定义的。如果以后,您在站点中添加了另一个功能,该功能使用了相同的数据库和设置,但没有与当前应用共享太多其他功能,那么这将是同一项目中的另一个应用

有关更多指南,请参阅本网站上的和

如果
Bookmark
s和
Tag
s具有多对多关系,并且需要向该关系中添加额外字段(而不仅仅是相关对象的
id
s),则可以使用
ManyToManyField
并通过
表设置

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文档