首页 > 解决方案 > `django.db.models.Model` 替换了 `django.db.models.base.Model`

问题描述

当我配置模型时:

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)

类的路径Modeldjango.db.models.Model

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

base水平是跳跃的。

Django是如何实现的?

标签: django

解决方案


看看里面django/db/models/__init__.py- 它有这条线:

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

这就是为什么您可以Modeldjango.db.models.

Python 的模块文档解释了更多关于__init__.py使用的信息。


推荐阅读