2015-01-07 175 views
0

我最近决定学习Django框架,并开始浏览相同的官方Django教程。在官方教程中给出的创建模型的代码如下:Django:'模型'子类继承

from django.db import models 


class Question(models.Model): 
    question_text = models.CharField(max_length=200) 
    pub_date = models.DateTimeField('date published') 


class Choice(models.Model): 
    question = models.ForeignKey(Question) 
    choice_text = models.CharField(max_length=200) 
    votes = models.IntegerField(default=0) 

现在,代码非常简单。但是,我有麻烦的理解是被继承的每个类模型内部的“样板”子类的层次正在定义:

models.Model 

凡位于models目录里面的Model类?我假设这是一个非常基本的问题,所以请原谅我的无知。

+1

https://github.com/django/django/blob/master/django/db/models/__init__.py#L9 –

回答

2

该课程本身位于django.db.models.base。如果您查看source codemodels模块实际上只是一个文件夹,而不是models.py文件。但是,Model类和包中的其他常用类都在__init__.py中导入,因此可以使用django.db.models.<class>