zoukankan      html  css  js  c++  java
  • Django:数据操作、查询、过滤器、非过滤器方法

    # -*- coding: utf-8 -*-
    """
    数据操作、查询、过滤器、非过滤器方法
    """



    from random import randint

    from django.shortcuts import render
    from django.http import HttpResponse
    from .models import User

    # Create your views here.
    def handle_data(request):
    #增加记录
    # user = User(username='Jack1',password='111222')
    # user.save()

    # 批量创建
    # firstname = "张李赵周王郑"
    # lastname = ["丽莉","德克","好","儿","童费","红英","豆蔻"]
    # users = []
    # for name in range(10):
    # user = firstname[randint(0,5)] + lastname[randint(0,6)] + str(randint(0,999))
    # users.append(User(username=user,password=str(randint(111111,999999))))
    # User.objects.bulk_create(users)
    # # User.objects.bulk_create([User(username='test1',password='123456'),User(username='test2')])
    # return HttpResponse("增加数据")

    #修改记录
    user = User.objects.get(pk=1)
    user.password = '333'
    user.save()
    return HttpResponse("数据修改")


    # 删除记录
    # try:
    # user = User.objects.get(pk=1) #pk表示主键
    # print(user,type(user))
    # if user:
    # user.delete()
    # except Exception as e:
    # print(e)
    # return HttpResponse("数据删除")


    def search_data(request):
    #过滤器1 : all 查询所有
    # users = User.objects.all()
    # return render(request, "user_list.html", locals())


    #过滤器2 :filter
    # filter 相当于SQL中的 Where,可设置条件过滤结果
    # users = User.objects.filter(uid__gt=150).filter(uid__lt=160) # __gt= : 大于 __lt= :小于
    # return render(request, "user_list.html", locals())

    #过滤器: order_by() 升序排序
    # users = User.objects.filter(uid__gt=150).filter(uid__lt=160).order_by('username')
    # return render(request, "user_list.html", locals())

    #限制结果集
    # users = User.objects.filter(uid__gt=150).filter(uid__lt=160).order_by('username')[:2] # 显示前两条数据
    # return render(request, "user_list.html", locals())


    #显示指定字段
    # users = User.objects.values('username')
    # return render(request, "user_list.html", locals())


    #去重
    users = User.objects.all().values('username').distinct()[:10]
    return render(request, "user_list.html", locals())


    # 非过滤方法
    def process_query(request):
    # # 1、get 只能返回一条数据,存在多条满足筛选条件时,报错
    # user = User.objects.get(uid__gt= 173)
    # print(user.username)
    # return HttpResponse(f"get查询结果是:{user.username}")

    # # 2、first 返回一个模型对象
    # user = User.objects.first()
    # print(user.username)
    # return HttpResponse(f"first查询结果是:{user.username}")

    # # 3、last 返回一个模型对象,查询最后一条数据
    # user = User.objects.last()
    # print(user.username)
    # return HttpResponse(f"last查询结果是:{user.username}")

    # # 4、count 显示结果集的数量总数,必须是QuerySet才能调用
    # num = User.objects.filter(uid__gt=100).count()
    # print(num)
    # return HttpResponse(f"count查询结果是:{num}")


    # 5、exists 判断结果集是否为空
    flag = User.objects.filter(uid__gt=100).exists()
    print(flag)
    return HttpResponse(f"exists查询结果是:{flag}")
  • 相关阅读:
    MSsql bcp
    mssql 动态行转列。
    Ms sql 2000互转2005
    Ms sql pivot unpivot
    Ms sql将首字母大写
    java 进制相互转换
    Java 对字符反转操作。
    java jdbc 封装。。
    java SimpleDateFormat
    《more effective C++》条款10 防止构造函数里的资源泄露
  • 原文地址:https://www.cnblogs.com/hecity/p/15724560.html
Copyright © 2011-2022 走看看