2015-01-07 232 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>