常用字段:
在django中,定義了一些field來與資料庫表中的字段型別來進行對映。
autofield:對映到資料庫中的int型別,可以有自動增長的特性。一般不需要使用這個型別,如果不指定主鍵,那麼模型會自動的生成乙個叫做id的自動增長的主鍵。
bigautofield:64位的整型,類似於autofield,只是產生的資料範圍不同。
booleanfield:在模型層面接收的是true/false。在資料庫是tinyint型別。如果沒有指定預設值,預設值是none。
charfield:在資料庫層面是varchar型別,在python層面就是普通的字串。這個型別在使用的時候必須要指定最大的長度,也即必須要傳遞max_length這個關鍵字引數進去。
datefield:日期型別。在python中是datatime.date型別,可以記錄年月日。在對映到資料庫中也是date型別。使用這個field可以傳遞以下幾個引數:
auto_now:d 在每次這個資料儲存的時候,都使用當前的時間。比如作為乙個記錄修改日期的字段可以將這個屬性設定。
auto_now_add:在每次資料第一次被新增進去的時候,都使用當前的時間。
emailfield:類似於charfield。在資料庫底層也是乙個varchar型別。最大長度為254個字元。
filefield:用來儲存檔案的。
floadfield:浮點型別,對映到資料庫中是float類似。
integerfield:整型。
bigintegerfield:大整型。
positiveintegerfield:正整型。
smallintegerfield:小整型。
positivesmallintegerfield:正小整型。
textfield:大量的文字型別,對映到資料庫中是longtext型別。
uuidfield:只能儲存uuid格式的字串。
urlfield:類似於charfield,只不過只能用來儲存url格式的字串,並且預設的max_length是200.
field的常用引數:
orm外來鍵使用
外來鍵:類定義為class foreignkey(to,on_delete,**options)。第乙個引數是引用的哪個型別,第二個引數是在使用外來鍵引用的模型資料被刪除了,這個字段如何處理,比如有cascade、set_null等。比如有乙個user和乙個article兩個模型,乙個user可以發表多篇文章,乙個article只能有乙個author,並且通過外來鍵進行引用。示例**:
class user(models.model):
username=models.charfield(max_length=20)
password=models.charfield(max_length=20)
class article(models.model):
title=models.charfield(max_length=100)
content=models.textfield()
author=models.foreignkey(「user」,on_delete=models.cascade)
如果模型的外來鍵引用的是本身自己這個模型,那麼to引數可以為』self』,或者是這個模型的名字。 Django ORM模型學習筆記(一)
如果想要先在django專案中建立資料表然後匯入資料庫中,此部落格可作為參考 首先看乙個例子 from django.db import models class address models.model address id models.autofield primary key true na...
ThinkPHP CURD方法盤點 field方法
thinkphp的curd操作中有很多非常實用的方法,從這篇開始,我們會為大家一一介紹。首先為大家介紹下field方法的用法。field屬於模型的連貫操作方法之一,主要目的是標識要返回或者操作的字段,可以用於查詢和寫入操作。在查詢操作中field方法是使用最頻繁的。model field id,ti...
6 Django ORM模型運算元據庫
專案中大量使用原生sql語句使得整個專案的 很繁瑣,就會出現很多問題 sql重複性較高,利用率低。大量原始sql語句可能是各種拼接的結果,當資料庫中內容做了修改,需要一一找到對應的sql進行檢查修改,浪費時間,不一定改全。可能存在sql注入的安全隱患問題,使得專案癱瘓。orm的使用會避免以上問題,其...