单表查询的API介绍

单表查询的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()

  

    

原文地址:https://www.cnblogs.com/mainstream/p/10988160.html