查询所有对象:
from myapp.models import MyModel
# 查询所有对象
all_objects = MyModel.objects.all()
查询过滤结果:
# 查询满足条件的对象
filtered_objects = MyModel.objects.filter(name='John', age=25)
查询单个对象:
# 查询单个对象,如果不存在则引发 DoesNotExist 异常
single_object = MyModel.objects.get(name='John')
排序查询结果:
# 按年龄升序排序
sorted_objects = MyModel.objects.order_by('age')
对结果进行切片:
# 获取前两个对象
sliced_objects = MyModel.objects.all()[:2]
使用链式查询:
# 结合多个查询条件
result = MyModel.objects.filter(name='John').exclude(age=30)
聚合查询:
from django.db.models import Count
# 计算对象的数量
count = MyModel.objects.count()
# 按条件计算对象的数量
age_count = MyModel.objects.filter(age__gte=18).count()
这只是一些基本的查询示例,Django 的 QuerySet API 提供了丰富的功能,您可以根据需要进行更复杂的查询。还可以使用 F() 表达式进行更复杂的过滤,执行跨关联表的查询等。
请查看[Django 官方文档的查询 API 部分](https://docs.djangoproject.com/en/3.2/topics/db/queries/),以获取更详细的信息和高级查询的示例。请注意,具体的实现和用法可能会因 Django 版本而异,因此建议查看与您正在使用的 Django 版本相对应的官方文档。
转载请注明出处:http://www.zyzy.cn/article/detail/7136/Django