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