Python Django - models.Model 子类的构造函数

Python Django - models.Model subclass's constructor

我刚开始学习 Django,对 Python 比较陌生。

我正在尝试了解 Django 的概述 here

from django.db import models

class Reporter(models.Model):
    full_name = models.CharField(max_length=70)

    def __str__(self):              # __unicode__ on Python 2
        return self.full_name

class Article(models.Model):
    pub_date = models.DateField()
    headline = models.CharField(max_length=200)
    content = models.TextField()
    reporter = models.ForeignKey(Reporter)

    def __str__(self):              # __unicode__ on Python 2
        return self.headline

我想知道他们怎么能做这样的事情:

# Create a new Reporter.
>>> r = Reporter(full_name='John Smith')

>>> a = Article(pub_date=date.today(), headline='Django is cool',
...     content='Yeah.', reporter=r)

有人能指出上面示例类中定义的构造函数在哪里吗?

Python 类 不需要显式构造函数。但是,在这种情况下,它们是由元类 django.db.models.base.BaseModel 构造的,它们继承自 models.Model.