3.15 进行数据查询操作
视图函数
在urls.py中配置路径:
展示:
# 查询id=2的用户
ret5 = UserInfo.objects.get(id=2)
ret6 = UserInfo.objects.filter(id__exact=2)
print('ret6',ret6)
print('ret6',ret6[0])
# 查询id大于2的用户
ret11 = UserInfo.objects.filter(id__gt=2)
print('ret11',ret11)
# 查询id大于等于2的用户
# ret11 = UserInfo.objects.filter(id__gte=2)
# print('ret11',ret11)
# 查询id小于2的用户
# ret11 = UserInfo.objects.filter(id__lt=2)
# print('ret11',ret11)
# 查询id小于等于2的用户
# ret11 = UserInfo.objects.filter(id__lte=2)
# print('ret11',ret11)
#查询name中存在'a'的用户
ret8 = UserInfo.objects.filter(name__contains='a')
print('ret8', ret8)
# 查询name中存在'a'或‘A’的用户(不区分大小写)
ret9 = UserInfo.objects.filter(name__icontains='a')
print('ret9', ret9)
# 查找名字中带有王的人
data = UserInfo.objects.filter(name__contains='王')
# 查找名字以王开头的人
data = UserInfo.objects.filter(name__starctswith='王')
# 查询名字以王结尾的人
data = UserInfo.objects.filter(name__endswith='王')
# 查询名字叫'老王'的人
data = UserInfo.objects.filter(name__exact='老王')
注意点:
1、get()方法如果查询不到数据会报错
2、filter既可以查询一条语句,也可以查询多条语句
但是查询的结果放在一个列表里面、
如果查询不到任何满足条件的数据,则返回的是一个空列表
3.16 在Django中使用数据库原生语句
在django中使用自带的数据库操作是用python语句执行sql语句操作,存在性能问题
解决方案:
3.16.1 raw()
展示:
3.16.2 django.db模块
首先需要导入
定义视图函数
展示:
3.16.3 sqlalchemy
官方文档:https://docs.sqlalchemy.org/en/13/