2024-06-25 05:29:04 发布
网友
当创建一个可重用的应用程序时,我应该将我定义的所有模型放入一个单独的文件models.py,还是可以将这些模型分组到多个文件中,比如topic1.py,topic2.py?在
models.py
topic1.py
topic2.py
请描述正反两方面的原因。在
models子模块的特殊之处在于它是在初始化过程中的特定时间自动导入的。你所有的模型都应该在这个时候导入。您不能在此之前导入它们,稍后导入它们可能会导致错误。
models
您可以在不同的模块中定义模型,但是您应该始终将所有模型导入到您的models.py或{}。E、 g.:
# 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导入。这样,您就可以在多个文件中组织模型,而不必在需要导入模型时记住每个模型的精确位置。
models/__init__.py
myapp.models
Topic1
myapp.models.topic1
这取决于你定义了多少模型,如果你只有1到5个类的模型,就把它放到一个文件中,但是如果你有5个以上的类模型,我建议把它放在几个文件中
但根据我的经验,如果模型放入多个文件,在导入内容时会变得有点麻烦
models
子模块的特殊之处在于它是在初始化过程中的特定时间自动导入的。你所有的模型都应该在这个时候导入。您不能在此之前导入它们,稍后导入它们可能会导致错误。您可以在不同的模块中定义模型,但是您应该始终将所有模型导入到您的}。E、 g.:
models.py
或{如果您将每个模型导入
models.py
或models/__init__.py
,那么您还可以直接从该文件导入所有模型。在本例中,这意味着您可以从myapp.models
导入Topic1
,而不仅仅是从myapp.models.topic1
导入。这样,您就可以在多个文件中组织模型,而不必在需要导入模型时记住每个模型的精确位置。这取决于你定义了多少模型,如果你只有1到5个类的模型,就把它放到一个文件中,但是如果你有5个以上的类模型,我建议把它放在几个文件中
但根据我的经验,如果模型放入多个文件,在导入内容时会变得有点麻烦
相关问题 更多 >
编程相关推荐