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()