我的问题是我想创建像common-application
这样的东西(这也可以是标准的Python模块),例如:
Model_1
Model_2
Model_3
并创建application_1
和application_2
,其中common-application
使用的模型例如:
application_1
Model_1
Model_2
Model_4
- app特定的附加模型 application_2
Model_1
Model_2
Model_3
我真的不知道models.py
和apps.py
应该是什么样子......:/
有可能吗?
PS。如果我想写DATABASE_ROUTER
在两个数据库之间拆分这个应用程序会让这个问题真的无法解决?
答案 0 :(得分:2)
您可以将common_application
的models.py文件中的通用模型作为抽象模型实现,方法是将以下内容添加到模型的类中:
class Meta:
abstract = True
然后,在其他应用程序中,您可以导入常见模型,如下所示:
from common_application.models import Model_1, Model_2, Model_3
然后实例化将从抽象模型类派生的模型类:
class Model_1a(Model_1):
可以找到有关Model类继承的更多详细信息here
答案 1 :(得分:0)
application1
models (directory - package)
__init__.py
model1.py
model2.py
model3.py
进入 init .py文件,您可以从型号* .py
导入所有模型from model1 import *
from model2 import *
from model3 import *
使用Meta模型,您可以设置db_tablespace(https://docs.djangoproject.com/en/1.8/ref/models/options)
答案 2 :(得分:0)
如果要将模型从一个应用程序迁移到另一个应用程序 例如,第一个应用程序模型如下所示 This is the first modal that I want to use in the different app look like this
在另一个应用程序中的第二个模型中,这取决于您要在何处使用该模式,就我而言,我在view.py中使用该模型来检索信息 In this view import your model by writing from {yourappname}.models import {modelname}