[英]Using other file names than models.py for Django models?
创建可重用应用程序时,我应该将定义的所有模型放入单个文件models.py
还是可以将模型分组到多个文件中,例如topic1.py
、 topic2.py
?
请描述赞成和反对的所有原因。
models
子模块的特殊之处在于它在初始化过程中的特定时间自动导入。 此时也应导入所有模型。 您不能在此之前导入它们,稍后导入它们可能会导致错误。
您可以在不同的模块中定义您的模型,但您应该始终将所有模型导入到models.py
或models/__init__.py
。 例如:
# models/topic1.py
class Topic1(models.Model):
...
# models/__init__.py
from .topic1 import Topic1
如果您将每个模型导入到models.py
或models/__init__.py
,这也允许您直接从该文件导入所有模型。 在示例中,这意味着您可以从myapp.models
导入Topic1
,而不仅仅是从myapp.models.topic1
。 通过这种方式,您可以在多个文件中组织模型,而无需在需要导入模型时记住每个模型的精确位置。
这取决于你定义了多少模型,如果你只有1到5个类模型,就把它放在一个文件中,但如果你有5个以上的类模型,我建议把它放在几个文件中,
但根据我的经验,如果模型放入多个文件,导入东西时会变得不那么麻烦,
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.