官术网_书友最值得收藏!

3.6 創建模型

事實上我們絕不能滿足于現有的數據庫結構,不同的應用需要不同的數據庫表,我們需要學會創建自己的模型。

現在開始創建模型(model),在詳細學習Django的ORM開發之前,讀者只要將模型理解為數據庫表對應的Python類的表現形式即可。每一個模型對應一個數據庫表,而模型的屬性就是數據庫表的字段。

在線投票系統需要兩個模型:問卷(Question)和選項(Choice)。Question包含兩個字段question_text(問卷描述)和pub_date(問卷發布時間);Choice包含兩個字段choice_text(選項內容)和votes(選項得票數),另外由于每一個選項都必須屬于一個問卷,因此需要給選項一個問卷外鍵。結合以上分析,修改polls/models.py文件,完成后的模型代碼如下:

每一個模型類都是django.db.models.Model的子類,而模型的每一個屬性都是Field類的實例,表示一個數據庫表的字段。

每個Field類實例變量的名字都是數據庫字段名(例如question_text和pub_date),因此在給字段起名字的時候一定要注意是否適合數據庫。

為了滿足不同數據庫的需要,Django提供了幾十個Field子類,不同的Field類在實例化的時候會接收不同的參數,這些會在后續內容中詳細介紹。

主站蜘蛛池模板: 普宁市| 诸暨市| 隆林| 萨迦县| 托里县| 建平县| 乳山市| 揭东县| 洪江市| 中山市| 隆回县| 鱼台县| 三亚市| 宝兴县| 双桥区| 祁门县| 德兴市| 海林市| 靖宇县| 南靖县| 通化县| 昭通市| 上虞市| 宜君县| 漯河市| 德保县| 晋州市| 万源市| 大同县| 云阳县| 崇信县| 武宁县| 左贡县| 冀州市| 静安区| 信阳市| 芦山县| 子长县| 靖宇县| 江阴市| 阜宁县|