单表查询的API介绍
一、返回的查询对象:
1.返回的QuerySet对象:
1.all() 2.filter() 3.exclude() 4.values() #返回字典型 5.values_list() #返回元组 6.order_by() 7.reverse() 8.distinct() #values去重
二、表单查询操作
views.py
#配置三件套渲染、跳转、字符串配置
from django.shortcuts import render,redirect,HttpResponse
#引入models.py文件
from .import models
def users(request):
# 查询所有的users
user_list = models.User.objects.all() #.all()得到user的是个对象列表
user1 = models.User.objects.first() #.first()返回单个对象
user2 = models.User.objects.filter(username="xiaohong") #返回结果:<QuerySet [<User: xiaohong>]> 这是一个对象列表。
user3 = models.User.objects.filter(username="xiaohong",age=11) #返回结果:<QuerySet [<User: xiaohong>]> 还是一个列表。
dic1 = {"username":"xiaogang","age":10}
user4 = models.User.objects.filter(**dic1) #把字典拆分成关键字参数传到变量里边。
#get方法用的少
user5 = models.User.objects.get(id=10) #使用get方法条件不满足就会报错。
user6 = models.User.objects.filter(id=10)
if len(user6)>0:
print(user6[0].username)
else:
print("没有此用户")
user7 = models.User.objects.exclude(username="xiaohong") #排除对象本身全部显示,返回的还是一个QuerySet对象就是一个列表。
# 创建数据
# 第一种 创建数据并提交到数据库
new_user = models.User.objects.create(username="xiaoli",age=10)
# 第二种创建方式
# 只创建数据未提交到数据库
new_user2 = models.User(username="xiaohhh",age="11")
# 向数据库提交必须执行以下指令。
new_user2.save()
# 删除
# 先查找要删除的数据
models.User.objects.filter(age=10).delete()
# 改
# 第一种方式
# 首先要知道要改的是谁然后再去改
models.User.objects.filter(age=10).update(username="xiaohua")
# 第二种方式
user11 = models.User.objects.filter(age=10).first()
user11.username = "xiaolong"
# 最后提交save()
user11.save()