django資料庫操作擴充套件
阿新 • • 發佈:2018-12-18
查詢:
1.查詢一條資料
get 和first
A.object.get(id=1):返回一條
A.object.filter(id=1).first():返回1條
要獲取單條資料的時候,推薦使用first;因為get獲取不到的時候會報錯,而filter獲取不到時返回None;
而且get()返回的是一個物件例項,而filter返回的是一個物件列表。
2.查詢指定的列名的資料
values(屬性名1,屬性名2)返回指定的QuerySet物件列表
A.objects.all().values('url') :<QuerySet[{ 'url' : 'baidu.com' }, { 'url':'itheima.com' } ]>
value_list返回的物件列表裡為元祖,values返回的列表裡是字典。
3.修改資料
get獲取到單挑資料,設定單條資料的值,然後save
obj = A.object.get(id=1)
obj.username = 'wjm'
obj.save()
若不存在則儲存
通過filter(id=1).update(username='wjm')
A.object.filter(id=1).update(username=username)
若不存在則返回None
4.聚合函式
from django.db.models import Min,Max,sum
A.objects.all().aggregate(Max('guest_id'))
A.objects.all().group_by('url').aggregate(Sum('pv'))