Django模型構建與字段關係

2021-09-24 09:37:38 字數 2469 閱讀 6100

表之間的關係模型

註冊模型

我認為,完成乙個dango專案的核心思路是模型的構建,即理清表與表之間的關係,模型弄錯,後面檢視上將極難處理。過了這麼久,十分有必要再對django中的模型構建上再次整理。

對於欄位的命名,不能是關鍵字,不能包含連續的下劃線

字段型別

字段說明

必選引數

可選引數

autofield

數字自增,預設是主鍵--

booleanfield

true/false--

charfield

中小長度字串

max_length

-datetimefield

日期時間

-auto_now:每次儲存時設定為儲存時的時間 ,常用與最後一次訪問時間

auto_now_add:只會設定第一次新增時的時間,後面不能改變,常用與註冊時間

timefield時間-

同datetimefield

datefield日期-

同datetimefield

emailfield

郵箱格式

max_length=75,系統預設,不能修改

-filefield

檔案上傳

upload_to,指向本地檔案路徑,在settings.py中的media_root後面

-floatfield

浮點數max_digits:最長數字長度

decimal_places:小數字數

-imagefield

上傳同filefield

width_field:寬

height_field:高

integerfield整數-

-ipaddress--

positiveintegerfield

正整數-

-textfield

長文字-

-urlfield

統一資源定位符--

可選內容

說明null

true/false,true代表該欄位可以是空值,即不填

blank

true/false,true代表該欄位可以為空型別

choices

選擇欄,它的選項表是乙個元組巢狀元組:((「jr」,『junor』),

(「sr」,「senor」)),

元組內的元組中,第乙個引數是資料庫儲存的值,第二個引數是使用者的選項值

db_index

true/fasle,建立索引

default

設定預設值

editable

true/false,fasle代表不能編輯

primary-key

true,乙個表只能有乙個主鍵

unique

true,值不能重複

隨便寫需要乙個與之相連的類作為位置引數,onetoonefield

class idcard(models.model):

id=models.integerfield(primary_key=true)

realname=models.charfield(max_length=20)

class residents(models.model):

id = models.integerfield(primary_key=true)

card_id=models.onetoonefield(idcard,on_delete=true)

在「多」的字段上設定foreignkey,需要乙個與之相連的類作為位置引數

class host(models.model):

...class credit_card(models.model):

host=models.foreignkey(host,on_delete=true)

在乙個表的字段上manytomany即可,需要乙個與之相連的類作為位置引數

class idcard(models.model):

id=models.integerfield(primary_key=true)

realname=models.charfield(max_length=20)

class residents(models.model):

id = models.integerfield(primary_key=true)

card_id=models.onetoonefield(idcard,on_delete=true)

from models.py import *

admin.site.register(actors)

admin.site.register(movie)

admin.site.register(idcard)

admin.site.register(residents)

Django 模型字段 ImageField

class imagefield upload to none height field none width field none max length 100,options 從filefield繼承所有屬性和方法,但也會驗證上載的物件是否為有效影象。除了filefield可用的特殊屬性外,im...

django 模型 關聯關係

stu student.objects.create name computer.objects.create name 電腦 stu stu school school.objects.create name stu student.objects.create name school schoo...

django模型 欄位和選項

一 常用字段 1 字段型別 使用時需要引入django.db.models包,字段型別如下 autofield 自動增長的integerfield,通常不用指定,不指定時django會自動建立屬性名為id的自動增長屬性 booleanfield 布林字段,值為true或false nullboole...