• Django数据库的增删改查


     在app下新建一个models_test.py,用来编写数据库操作的相关代码

    import django,os
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'dj_test.settings')#设置django的配置文件,指定Django的配置文件是在setting里面
    django.setup()
    
    from user import models
    from django.db.models import Q #or条件需要导引入Q对象
    from django.core.paginator import Paginator
    #新增
    models.Nav.objects.create(name='我的日记1')
    models.Nav.objects.create(name='我的日记2')
    models.Nav.objects.create(name='我的日记3')
    models.Nav.objects.create(name='我的日记4')
    models.Nav.objects.create(name='我的日记5')
    
    nav_obj = models.Nav(name='我的心情6',is_delete=1)
    nav_obj.save()
    
    
    #查询
    
    #get方法查询的话,必须得保证这个数据查出来只有1条,才可以
    result = models.Nav.objects.get(is_delete=1)
    result2 = models.Nav.objects.get(id=1)
    print(result.name)
    print(result.id)
    print(result.update_time)
    
    # filter查询支持多个结果
    result = models.Nav.objects.filter(is_delete=1,name='我的心情')#and
    result = models.Nav.objects.filter( name__contains='我的' )# 模糊查询用两个下划线加上自断
    result2 = models.Nav.objects.filter(id__gt=0 )#__gt是大于的意思
    result2 = models.Nav.objects.filter(id__gte=1 )#__gte大于等于1
    result2 = models.Nav.objects.filter(id__lt=2 )#小于2
    result2 = models.Nav.objects.filter(id__range=[1,5] )#一个范围之间
    result3 = models.Nav.objects.filter(id__in=[1,2,3,5,6])#in
    result  = models.Nav.objects.exclude(id=1)#exclude排除,除了id为1的
    
    
    print(result)
    print(result2)
    print(result3)
    
    result = models.Nav.objects.filter( Q(name__contains='6')|Q(name__contains='3') )#或or,查询包含2或者6的
    
    all = models.Nav.objects.all()#获取表里面所有的数据
    all = models.Nav.objects.all().filter(name__contains='6')#获取表里面所有contains=6的的数据
    
    #修改
    n = models.Nav.objects.get(id=1) #要先找到数据才能修改,id写成pk也可以,意思是parimy key
    n.name = 'wo的相册2'#你要修改成的内容
    n.is_delete = 1
    n.save()#最后一定要保存
    
    # 批量修改
    models.Nav.objects.all().update(is_delete=0)#更新表里面所有数据
    models.Nav.objects.filter(name__contains='我的').update(is_delete=1)#根据条件批量修改,把包含“我的”的数据批量修改
    
    #删除
    # models.Nav.objects.all().delete()#删除表里面所有数据
    # models.Nav.objects.filter(id__lt=3).delete()#根据条件删除
    
    #n = models.Nav.objects.get(id=3) #parimy key单个删除
    #n.delete()
  • 相关阅读:
    [debug] 解决在C++编写过程中的“找到一个或多个多重定义的符号”
    调试事件的收集
    [ida]查看某一函数在程序中被谁引用
    IDA+Windbg IDA+OD 连动调试插件
    一个简单的创建被调试进程的案例
    LOAD_DLL_DEBUG_EVENT 时读取 DllName
    【编译系统01】编译器
    [动态规划]石子合并问题
    xBIM 基础15 IFC导出Excel报表
    xBIM 基础14 使用LINQ实现最佳性能(优化查询)
  • 原文地址:https://www.cnblogs.com/haifeima/p/11908754.html
Copyright © 2020-2023  润新知