查询:
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'))