2019.03.21 增删改
上一節(jié)是查詢? 而這一節(jié)是增刪改
數(shù)據(jù)庫(kù)都離不開這幾樣
這些方法都繼承誰(shuí)的呢? 在models中繼承的嗎? Django.db嗎?
?過(guò)濾器可以查詢多個(gè),因此可以操作多個(gè)字段
?
#方法1
?
post = Post(title='博客11',created='2017-2-28') (實(shí)例化插入)
post.save()
?
#方法2
?
Post.objects.create(title='博客12',created='2018-11-11')
返回值是添加的對(duì)象
刪除
#方法1
Movie.objects.get(mid='147').delete()
? ?
? ?
? #BINARY不是函數(shù),是類型轉(zhuǎn)換運(yùn)算符,比較時(shí) 區(qū)分大小寫
? DELETE FROM `movie` WHERE `movie`.`mname` LIKE BINARY 'h%'
?
* 方法2 (刪除所有包含博客名字的帖子)
?
? Post.objects.filter(title__contains='博客').delete()
?
修改
#方法1 (更新的是所有的字段)
post = Post.objects.first()
post.title='更新了'
post.save()
UPDATE `post_post` SET `title` = '更新了', `created` = '2017-11-27' WHERE `post_post`.`id` = 26
#方法2(只更新修改的字段),推薦使用
?
Post.objects.filter(id=26).update(title='又更新了')
?
UPDATE `post_post` SET `title` = '又更新了' WHERE `post_post`.`id` = 26
?
?
?
本節(jié)操作是連接自己的數(shù)據(jù)庫(kù)? 發(fā)現(xiàn)自己的環(huán)境也都還可以。然后就有去復(fù)習(xí)了一遍
如何登入后臺(tái)站點(diǎn)的步驟和執(zhí)行的代碼
?
15.創(chuàng)建表單
django所有的數(shù)據(jù)模型都繼承自models.Model
-
django所有的數(shù)據(jù)模型都繼承自models.Model
-
CharField max_length (輸入框)
-
TextField 沒(méi)有長(zhǎng)度限制的字符串 (文本域)
-
DateField 日期
-
DateTimeField 日期+時(shí)間
-
BooleanField 真假
-
NullBooleanField Null,真假,
-
Integer 整數(shù)
-
PositiveIntegerField 正整數(shù)
-
DecimalField max_digits(幾位數(shù)) decimal_places(小數(shù)點(diǎn)后保留幾位)
-
ImageField 圖片 依賴于 Pillow(處理圖片) upload_to='upload' 指定文件上傳到目錄
-
FileField(ImageField繼承FileField)
-
AutoField
-
ForeignKey 1:n
-
ManyToManyField n:n
-
EmailField 郵箱
-
UUIDField 重復(fù)的概率非常低基本可以忽略,全世界都不一樣的標(biāo)示,uuid的產(chǎn)生和服務(wù)器的環(huán)境有關(guān)(CPU,網(wǎng)關(guān),) 唯一性的標(biāo)示,用戶模塊,訂單號(hào)
-
不同的字段在后臺(tái)對(duì)應(yīng)不同的html的組件
ImageField 依賴于Pillow組件(python庫(kù))
常用屬性
-
unique 標(biāo)示這個(gè)字段唯一
-
default 默認(rèn)的意思 ,(如果不寫的話就使用默認(rèn)的值)
-
null=True 允許字段為null,(允許數(shù)據(jù)庫(kù)為null)數(shù)據(jù)庫(kù)層面的
-
blank=True 表單階段的,admin后臺(tái)的
-
auto_now 針對(duì)時(shí)間的,自動(dòng)調(diào)整當(dāng)前,(當(dāng)修改條目的時(shí)候,這個(gè)時(shí)間會(huì)自動(dòng)更新),每次修改都會(huì)更新 (修改,保存的時(shí)候才會(huì)生效,)
-
auto_now_add 針對(duì)時(shí)間的,只添加一次,(創(chuàng)建的時(shí)間)
?
重點(diǎn)理解屬性
-
表單層面的東西(js判斷字段是否是" "),不需要重寫遷移數(shù)據(jù)庫(kù)
-
unique=True 可以任何字段
-
default 數(shù)據(jù)庫(kù)+表單層面(同時(shí)生效)
-
auto_now_add 創(chuàng)建的時(shí)候會(huì)自動(dòng)的添加時(shí)間(數(shù)據(jù)庫(kù)),(后臺(tái)表單層面找不到這個(gè)字段)
-
auto_now 每次修改的時(shí)候自動(dòng)更新,(數(shù)據(jù)庫(kù)+表單層面)
-
null=True 數(shù)據(jù)庫(kù)層面,允許為Null,不是空字符串
-
blank=True 表單層面的,后臺(tái)選填(表單項(xiàng)元素可以為空,表單不會(huì)進(jìn)行非空校驗(yàn))
uuid
uuid.uuid4().get_hex()django遷移失敗如何處理
-
刪除模塊下(問(wèn)題模塊)的所有的遷移記錄
-
刪除數(shù)據(jù)庫(kù)中django_migrations中問(wèn)題模塊的遷移記錄
DELETE FROM django_migrations WHERE app='模塊名'
-
刪除這個(gè)模塊下已經(jīng)產(chǎn)生的所有的表
-
重新生成遷移文件
-
重新遷移
轉(zhuǎn)載于:https://www.cnblogs.com/Py-king/p/10569653.html
總結(jié)
以上是生活随笔為你收集整理的2019.03.21 增删改的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Go学习笔记07-结构体与方法
- 下一篇: 个人博客园CSS样式美化