溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

django模型是什么

發(fā)布時間:2020-09-08 14:44:16 來源:億速云 閱讀:145 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關(guān)django模型是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

模型是一個定義數(shù)據(jù)源的數(shù)據(jù),它包含要存儲數(shù)據(jù)的一些屬性和行為。通常,每一個模型對應(yīng)數(shù)據(jù)庫中的一個數(shù)據(jù)表。

每一個模型是django.db.models.Model的子類

每一個模型屬性代表數(shù)據(jù)表的一個字段。

Django提供了自動生成的數(shù)據(jù)庫訪問API,使用模型操作數(shù)據(jù)庫很方便

模型案例

下面的代碼定義了Person模型,有first_name和last_name:

from django.db import models class Person(models.Model):
    first_name = models.CharField(max_length=30) 
    last_name = models.CharField(max_length=30)

first_name和last_name代表模型的field(屬性),每一個屬性對應(yīng)到數(shù)據(jù)表的一個列,上面的模型代碼對應(yīng)的數(shù)據(jù)表將是如下:

CREATE TABLE myapp_person ( 
    "id" serial NOT NULL PRIMARY KEY, 
    "first_name" varchar(30) NOT NULL, 
    "last_name" varchar(30) NOT NULL );

表名稱前綴 myapp 是在配置文件中配置的,可以覆蓋id元素是自動添加的,也可以做一些自定義的操作這里的語句使用的是PostgreSQL語法,在settings.py中配置其它類型的數(shù)據(jù)庫,可以生成對應(yīng)數(shù)據(jù)庫的語法

使用模型

當你定義好模型之后,你需要告訴Django你要用這些模型了,通過修改settings.py文件中INSTALLED_APPS部分來添加新的模塊名稱,包含剛定義的model。

# Application definitionINSTALLED_APPS = [    'myqpp',
    ...
]

添加新的模塊之后,不要忘了運行遷移命令是模型生效。

python manage.py migrage

模型屬性(Field)

Field是模型中最重要的部分,也是必須要有的部分。它定義了 Python 模型與數(shù)據(jù)表之間的對應(yīng)關(guān)系。

注意定義屬性名稱時不要使用有沖突含義的字段名稱。如save,clean,delete

Field Type

模型的每一個屬性都應(yīng)該是 Field 類的實例,Django使用Field類處理如下事情:

數(shù)據(jù)表 column 列的類型,Interger,VARCHAR, TEXT

字段驗證validate。

關(guān)于django模型是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI