繁体   English   中英

对 Django 模型使用除 models.py 之外的其他文件名?

[英]Using other file names than models.py for Django models?

创建可重用应用程序时,我应该将定义的所有模型放入单个文件models.py还是可以将模型分组到多个文件中,例如topic1.pytopic2.py

请描述赞成和反对的所有原因。

models子模块的特殊之处在于它在初始化过程中的特定时间自动导入。 此时也应导入所有模型。 您不能在此之前导入它们,稍后导入它们可能会导致错误。

您可以在不同的模块中定义您的模型,但您应该始终将所有模型导入到models.pymodels/__init__.py 例如:

# models/topic1.py

class Topic1(models.Model):
    ...

# models/__init__.py

from .topic1 import Topic1

如果您将每个模型导入到models.pymodels/__init__.py ,这也允许您直接从该文件导入所有模型。 在示例中,这意味着您可以从myapp.models导入Topic1 ,而不仅仅是从myapp.models.topic1 通过这种方式,您可以在多个文件中组织模型,而无需在需要导入模型时记住每个模型的精确位置。

这取决于你定义了多少模型,如果你只有1到5个类模型,就把它放在一个文件中,但如果你有5个以上的类模型,我建议把它放在几个文件中,

但根据我的经验,如果模型放入多个文件,导入东西时会变得不那么麻烦,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM