4 欄位、資料的增刪改查
阿新 • • 發佈:2021-11-23
欄位增刪改查
# 當表中已經有資料存在的情況下如果新增新的欄位那麼需要設定null或者default password = models.IntegerField(verbose_name='密碼',null=True) # pwd int comment '密碼' age = models.IntegerField('年齡',default=18)
注意:改完之後要重新資料庫遷移
python3 manage.py makemigrations
python3 manage.py migrate
資料增刪改查
查
方法一:
models.User.objects.all() # 查詢user表中所有的資料# select * from user; <QuerySet [<User: jason>, <User: tony>, <User: kevin>]>
方法二: models.User.objects.filter(name='jason') # 查詢name=jason的資料 # select * from user where name='jason' <QuerySet [<User: jason>]> models.User.objects.filter(name='jason',password=123) # select * from user where name='jason' and password=123 <QuerySet [<User: jason>]> QuerySet我們可以簡單的理解為是列表套一個個資料物件
增
方法一:
models.User.objects.create(name='jerry',password=567) # insert into user(name,password) values('jerry',567) 上述orm返回值為當前被創建出來的資料物件本身
方法二: obj= models.User(name='tom',password=111) # 類產生物件 obj.name ='oscar' obj.save() # 物件呼叫save方法儲存到資料庫
改
方法一:
edit_obj = models.User.objects.filter(id=3)[0]
edit_obj.name = 'kevinSB'
edit_obj.save()
方法二:
models.User.objects.filter(name='jason').update(name='jasonNB')
# update user set name='jasonNB' where name='jason';
刪
models.User.objects.filter(id=5).delete() # delete from user where id=5;