這篇文章將為大家詳細(xì)講解有關(guān)django模型是什么,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。
成都創(chuàng)新互聯(lián)公司擁有網(wǎng)站維護(hù)技術(shù)和項(xiàng)目管理團(tuán)隊(duì),建立的售前、實(shí)施和售后服務(wù)體系,為客戶提供定制化的網(wǎng)站建設(shè)、成都網(wǎng)站制作、網(wǎng)站維護(hù)、眉山服務(wù)器托管解決方案。為客戶網(wǎng)站安全和日常運(yùn)維提供整體管家式外包優(yōu)質(zhì)服務(wù)。我們的網(wǎng)站維護(hù)服務(wù)覆蓋集團(tuán)企業(yè)、上市公司、外企網(wǎng)站、商城開發(fā)、政府網(wǎng)站等各類型客戶群體,為全球近1000家企業(yè)提供全方位網(wǎng)站維護(hù)、服務(wù)器維護(hù)解決方案。
模型是一個(gè)定義數(shù)據(jù)源的數(shù)據(jù),它包含要存儲(chǔ)數(shù)據(jù)的一些屬性和行為。通常,每一個(gè)模型對(duì)應(yīng)數(shù)據(jù)庫中的一個(gè)數(shù)據(jù)表。
每一個(gè)模型是django.db.models.Model的子類
每一個(gè)模型屬性代表數(shù)據(jù)表的一個(gè)字段。
Django提供了自動(dòng)生成的數(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(屬性),每一個(gè)屬性對(duì)應(yīng)到數(shù)據(jù)表的一個(gè)列,上面的模型代碼對(duì)應(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元素是自動(dòng)添加的,也可以做一些自定義的操作這里的語句使用的是PostgreSQL語法,在settings.py中配置其它類型的數(shù)據(jù)庫,可以生成對(duì)應(yīng)數(shù)據(jù)庫的語法
使用模型
當(dāng)你定義好模型之后,你需要告訴Django你要用這些模型了,通過修改settings.py文件中INSTALLED_APPS部分來添加新的模塊名稱,包含剛定義的model。
# Application definitionINSTALLED_APPS = [ 'myqpp', ... ]
添加新的模塊之后,不要忘了運(yùn)行遷移命令是模型生效。
python manage.py migrage
模型屬性(Field)
Field是模型中最重要的部分,也是必須要有的部分。它定義了 Python 模型與數(shù)據(jù)表之間的對(duì)應(yīng)關(guān)系。
注意定義屬性名稱時(shí)不要使用有沖突含義的字段名稱。如save,clean,delete
Field Type
模型的每一個(gè)屬性都應(yīng)該是 Field 類的實(shí)例,Django使用Field類處理如下事情:
數(shù)據(jù)表 column 列的類型,Interger,VARCHAR, TEXT
字段驗(yàn)證validate。
關(guān)于django模型是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
分享名稱:django模型是什么
URL分享:http://www.chinadenli.net/article22/joihjc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供、域名注冊、搜索引擎優(yōu)化、網(wǎng)站排名、軟件開發(fā)、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)