`django.db.models.Model`替换了`django.db.models.base.Model`

时间:2018-05-04 02:41:00

标签: django

配置模型时:

from django.db import models

class Topic(models.Model):
    """A topic the user is learning about.""""
    text = models.charField(max_length=200)
    data_added = models.DateTimeField(auto_now_add=True)

班级Model的路径为django.db.models.Model

但是,它的真实路径是来自模块django.db.models.base.Model的{​​{1}} django/base.py

跳过django/django/db/models/base.py级别。

Django如何实现它?

1 个答案:

答案 0 :(得分:2)

查看django/db/models/__init__.py内部 - 它有这一行:

from django.db.models.base import DEFERRED, Model

这就是您可以从Model导入django.db.models的原因。

Python documentation on modules详细介绍了__init__.py用法。