Python 如何让Django从应用程序的子包加载模型?

Python 如何让Django从应用程序的子包加载模型?,python,django,django-models,Python,Django,Django Models,我基本上有以下问题: 比如说,我定义的模型类在/app/cog/models.py中,但Django只在/app/models.py中检查它们。有没有办法让Django动态读取app所有子包中所有models.py文件中的所有模型类 值得注意的是,我真的很想遵循Django关于应用程序的哲学,其中包括“所有应用程序都是相互独立的”。因此,我不想让这些子包拥有自己的应用程序,否则使用我的应用程序的人可能会在一段时间后拥有50个应用程序(因为这些子包只是扩展了应用程序的功能,可能会有很多应用程序)。

我基本上有以下问题:

比如说,我定义的模型类在
/app/cog/models.py
中,但Django只在
/app/models.py
中检查它们。有没有办法让Django动态读取
app
所有子包中所有models.py文件中的所有模型类

值得注意的是,我真的很想遵循Django关于应用程序的哲学,其中包括“所有应用程序都是相互独立的”。因此,我不想让这些子包拥有自己的应用程序,否则使用我的应用程序的人可能会在一段时间后拥有50个应用程序(因为这些子包只是扩展了应用程序的功能,可能会有很多应用程序)。

有两种选择:

  • 除了
    app
    ,还将
    app.cog
    添加到
    INSTALLED\u APPS
  • 或者,在app/models.py中包含app/cog/models.py(即,
    从.cog.models导入*
    从.cog.models导入model1,model2

  • 哇,这么简单吗|哦,Enter提交了一个commit,很抱歉这个双重评论。我可以在一个时间内导入东西吗?对不起,我今天的英语很糟糕。对不起,我没有让你…在什么范围内导入东西?我可以从for循环的包中导入吗?类似于
    对于cog in cogs:\n from.cog.model import*
    对于cog in cogs:
    from.cog.models import*
    –抱歉。^