记录一下我常用的Django 查询
原创
©著作权归作者所有:来自51CTO博客作者小胖子就是我的原创作品,请联系作者获取转载授权,否则将追究法律责任
- 获取特定模型的所有对象:
python复制代码
Model.objects.all()
- 获取特定 ID 的对象:
python复制代码
Model.objects.get(id=id)
- 过滤查询:
python复制代码
Model.objects.filter(field=value)
- 排除查询:
python复制代码
Model.objects.exclude(field=value)
- 获取特定字段的值:
- 更新特定对象:
python复制代码
object.field = value
object.save()
- 删除特定对象:
python复制代码
object.delete()
- 使用 Q 对象进行复杂查询:
python复制代码
from django.db.models import Q
Model.objects.filter(Q(field1=value1) | Q(field2=value2))
- 使用聚合函数计算字段的统计值:
python复制代码
Model.objects.aggregate(Sum('field')) # 计算字段的总和
Model.objects.aggregate(Count('field')) # 计算字段的计数
Model.objects.aggregate(Max('field')) # 计算字段的最大值
Model.objects.aggregate(Min('field')) # 计算字段的最小值
- 使用 order_by 进行排序查询:
python复制代码
Model.objects.order_by('field') # 按升序排序,默认使用 'id' 作为排序字段
Model.objects.order_by('-field') # 按降序排序