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

时间:2015-01-04 16:29:03

标签: python django

我刚开始学习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)

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

1 个答案:

答案 0 :(得分:1)

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