【发布时间】:2016-08-21 03:26:20
【问题描述】:
我正在构建一个 Django 应用程序,我被要求拆分 models.py 并将生成的模型放在“模型”文件夹中。我这样做了,效果很好。 然后我被要求将模型文件夹移动到项目级别,以便其他应用程序可以使用这些模型。 文件结构如下所示(取自 Django 教程):
mysite
mysite
polls
db.sqlite3
manage.py
models <- Have the poll app's models in there?
但是,我所读到的所有内容都表明,这很不受欢迎,模型应该存在于应用程序级别,而不是项目级别。
那么,处理这个问题的最佳方法是 Django——让模型被多个应用程序使用?我读过的一些内容建议在应用程序之间导入模型或更改模型 Meta 类 db_table 选项。
不过,我发现的大多数帖子都是 5 年前的,所以我不确定目前最好的方法是什么。
如果我将模型导入新应用程序,然后 / 对它们执行某些操作,它们是否指向与导入它们的应用程序相同的数据库,或者是否为新应用程序创建了新数据库?
感谢您的帮助。非常感激。
【问题讨论】:
-
应该是 polls/models/xxx.py
-
您可以在关系字段中使用
'appname.model_name'将模型从一个应用程序引用到另一个应用程序。
标签: django python-2.7 django-models