zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    CentOS7安装Dnsmasq并更新最新版
    VMware vCenter Server Appliance(VCSA )6.7 部署,许可证破解
    vsphere6.7虚拟机与ESXI时间同步
    oracle使用存储过程返回数据集
    如何让CheckBoxList横着显示
    在oracle中创建自动增长字段
    oracle 11g安装客户端后使用ps/sql连接提示TNS适配器错误的解决办法
    myeclipse 网站项目部署失败
    Opera Dragonfly本地化
    ExtJs的fireEvent事件
  • 原文地址:https://www.cnblogs.com/haifeima/p/11908754.html
Copyright © 2011-2022 走看看