我有以下项目结构:
bm_app_1
| contents here
bm_app_2
| contents here
bm_common
| __init__.py
| deletable
| | __init__.py
| | behaviors.py
| | models.py
| timestampable
| | __init__.py
| | behaviors.py
app bm_common
中的文件定义了托管模型,我希望在迁移文件中使用这些模型。然而,当我运行python managepy makemigrations
时,应用程序bm_common
的文件夹中的文件不会被考虑在内。所有应用程序都在INSTALLED_APPS
中
PREREQ_APPS = [
required apps here
]
PROJECT_APPS = [
'bm_common',
'bm_app_1',
'bm_app_2'
]
INSTALLED_APPS = PREREQ_APPS + PROJECT_APPS
有没有一种方法可以改变makemigrations
的行为,以便也查看makemigrations
?如果没有,那么什么是一个很好的建议来进行这种分割?我不想把所有的行为都放在一个behaviors.py
中,因为它太大了,会导致循环引用。
2条答案
按热度按时间jaxagkaj1#
当应用注册表填充所有模型时,需要以某种方式导入模型,否则它们不会被注册,Django也不知道它们。最简单的解决方案是创建一个
bm_common/models.py
文件并导入其中的所有模型:wlzqhblo2#
你只需要在init.py模块中导入它们,它就可以工作了!