簡體   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