擅长:python、mysql、java
<p><code>models</code>子模块的特殊之处在于它是在初始化过程中的特定时间自动导入的。你所有的模型都应该在这个时候导入。您不能在此之前导入它们,稍后导入它们可能会导致错误。</p>
<p>您可以在不同的模块中定义模型,但是您应该始终将所有模型导入到您的<code>models.py</code>或{<cd3>}。E、 g.:</p>
<pre><code># models/topic1.py
class Topic1(models.Model):
...
# models/__init__.py
from .topic1 import Topic1
</code></pre>
<p>如果您将每个模型导入<code>models.py</code>或<code>models/__init__.py</code>,那么您还可以直接从该文件导入所有模型。在本例中,这意味着您可以从<code>myapp.models</code>导入<code>Topic1</code>,而不仅仅是从<code>myapp.models.topic1</code>导入。这样,您就可以在多个文件中组织模型,而不必在需要导入模型时记住每个模型的精确位置。</p>