溫馨提示×

溫馨提示×

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

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

ORM的使用

發(fā)布時間:2020-07-13 01:45:39 來源:網(wǎng)絡(luò) 閱讀:261 作者:qq5ce69b6b60f8f 欄目:開發(fā)技術(shù)

創(chuàng)建數(shù)據(jù)庫表
一、在models.py 中種創(chuàng)建模型類
#一個表對應(yīng)一個模型類

class BookInfo(models.Model):
    # 每一個字段對應(yīng) 表中的一列
    title = models.CharField(max_length=30)
    #auto_now_add=True 意味著默認時間為 該行插入時間
    pub_date = models.DateTimeField(auto_now_add=True)
class HeroInfo(models.Model):
    name = models.CharField(max_length=30)
    #bool 類型性別  默認值為true 代表男
    gender = models.BooleanField(default=True)
    #null = True 代表該列可以為空
    skill = models.CharField(max_length=50,null=True)
    #ForeignKey 表名和BookInfo為多對一關(guān)系
    #book 的類型 BookInfo
    book = models.ForeignKey(BookInfo,on_delete=models.CASCADE)

二、生成遷移文件
在 manage.py 目錄
Python manage.py makemigrations
該命令會在應(yīng)用的migrations目錄生成 帶有編號的遷移文件
三、執(zhí)行遷移文件
在 manage.py 目錄
Python manage.py migrate

Django默認使用sqlite3 數(shù)據(jù)庫
上述命令會在項目根目錄生成sqlite3.db

**** 遷移文件 需要預(yù)先注冊應(yīng)用
四、使用Shell命令行測試django數(shù)據(jù)
Python manage.py shell

From booktest.models import BookInfo,HeroInfo

1、查詢
得到所有
BookInfo.objects.all()

關(guān)聯(lián)查詢:
一找多: 一方對象. 多方類名小寫_set.all()
多找一:通過多方模型類中存儲的一方字段

2、插入
構(gòu)造對象 b1
b1.save()
3、修改
對象.save() 會將對象中更改的字段保存到數(shù)據(jù)庫
4、刪除
對象.delete()
五、每一個模型類都自帶管理器對象 objects(Manage類型)
通過objects操作對象

向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