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