使用其他文件名而不是模型.py对于Django车型?

2024-06-25 05:29:04 发布

您现在位置:Python中文网/ 问答频道 /正文

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

请描述正反两方面的原因。在


Tags: 文件py模型应用程序定义models原因topic2
2条回答

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

您可以在不同的模块中定义模型,但是您应该始终将所有模型导入到您的models.py或{}。E、 g.:

# 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个以上的类模型,我建议把它放在几个文件中

但根据我的经验,如果模型放入多个文件,在导入内容时会变得有点麻烦

相关问题 更多 >