Django-Model层ORM之查询操作(六)

该博客主要介绍了Django查询相关API,如all()查询所有记录、filter()按条件查询等,还涉及first()、last()、get()等方法,以及values()、values_list()等返回特定集合的操作,此外提到了模糊查询,但具体内容可查询官方文档。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

 

一,Django查询相关API

all() 查询所有记录,返回一个集合对象

filter(属性 = ' ' ) 根据条件查询,返回一个集合对象

first() 和 last() ,查询第一个和最后一个记录, 返回单个对象

get(id = 2),根据id查询, 返回一个对象

filter(author='诸葛亮').values('name',...),返回作者为'诸葛亮'的多有书的 name 字典集合

filter(author='刘备').values_list('name'),返回元组集合。

exclude(author='刘备'),查询除'刘备'之外的所有记录.

order_by('price'),对价格进行排序

reverse() 对查询结果反向排序

distinct() 去重:如

count() 查询对象总数

exists() 判断结果是否存在,存在返回true , 否则返回false

二,模糊查询


一,Django查询相关API

all() 查询所有记录,返回一个集合对象

def select(request):
    book_list = Book.objects.all()
    return render(request, 'index.html', {'book_list': book_list})

filter(属性 = ' ' ) 根据条件查询,返回一个集合对象

def select(request):
    book_list = Book.objects.filter(name='go基础')
    # book_list = Book.objects.all()
    return render(request, 'index.html', {'book_list': book_list})

first() 和 last() ,查询第一个和最后一个记录, 返回单个对象

def select(request):
    # book_list = Book.objects.filter(name='go基础')
    # book_list = Book.objects.all()
    # return render(request, 'index.html', {'book_list': book_list})
    # book = Book.objects.first()
    book = Book.objects.last()
    return render(request, 'book.html', {'book': book})

get(id = 2),根据id查询, 返回一个对象

def select(request):
    # book_list = Book.objects.filter(name='go基础')
    # book_list = Book.objects.all()
    # return render(request, 'index.html', {'book_list': book_list})
    # book = Book.objects.first()
    # book = Book.objects.last()
    book = Book.objects.get(id=5)
    return render(request, 'book.html', {'book': book})

filter(author='诸葛亮').values('name',...),返回作者为'诸葛亮'的多有书的 name 字典集合

def select(request):
    # book_list = Book.objects.filter(name='go基础')
    # book_list = Book.objects.all()
    # return render(request, 'index.html', {'book_list': book_list})

    # book = Book.objects.first()
    # book = Book.objects.last()
    # book = Book.objects.get(id=5)
    # return render(request, 'book.html', {'book': book})

    result_list = Book.objects.filter(author='诸葛亮').values('name')
    return render(request, 'book_item.html', {'result_list': result_list})

filter(author='刘备').values_list('name'),返回元组集合。

exclude(author='刘备'),查询除'刘备'之外的所有记录.

def select(request):
    # book_list = Book.objects.filter(name='go基础')
    # book_list = Book.objects.all()
    book_list = Book.objects.exclude(author='刘备')
    return render(request, 'index.html', {'book_list': book_list})

order_by('price'),对价格进行排序

def select(request):
    # book_list = Book.objects.filter(name='go基础')
    # book_list = Book.objects.all()
    # book_list = Book.objects.exclude(author='刘备')
    book_list = Book.objects.all().order_by('price')
    return render(request, 'index.html', {'book_list': book_list})

reverse() 对查询结果反向排序

distinct() 去重:如

Book.objects.all().values('name').distinct()

count() 查询对象总数

exists() 判断结果是否存在,存在返回true , 否则返回false

二,模糊查询

Book.objects.filter(price__gt=100).values('name', 'price') :价格大于100
Book.objects.filter(name__contains='b') :查询名称包含'p'的所有记录

....具体很多, 可查询官方文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值