django框架数据库相关操作
一、数据库表的创建
1、创建表的代码
from django.db import models
class Nav (models.Model): name=models.CharField(max_length=10,unique=True,verbose_name="导航名称") #int可以不加长度,字符串类型必须加长度 url=models.CharField(max_length=100,unique=True,verbose_name='导航链接') classname=models.CharField(max_length=50,unique=True,verbose_name='导航图标') is_delete=models.SmallIntegerField(default=1,verbose_name='是否被删除') create_time=models.DateTimeField(verbose_name='创建时间',auto_now_add=True) #auto_now_add插入数据自动取当前时间 update_time=models.DateTimeField(verbose_name='修改时间',auto_now=True)#auto_now 修改时间自动取当前时间 def __str__(self): return self.name class Meta: verbose_name='导航表' verbose_name_plural=verbose_name db_table='nav' #指定表名 ordering=['update_time'] #查询数据的时候,用来排序的
2、运行命令,生成表
python manage.py makemigrations 表结构
python manage.py migrate 创建数据库表
二、表数据增加
#新增,批量插入,可通过循环控制 models.test.objects.create(name='首页8',url='index8') #新增第一种方法 models.test(name='首页9',url='index9').save() #第二种新增数据方法 for i in range(10,100): models.test(name='首页%s'%i, url='index%s'%i).save()
三、表数据删除
#删除 models.test.objects.all().delete() #删除全部 models.test.objects.filter(id=3).delete() #指定删除
四、表数据修改
#修改 n=models.test.objects.get(id=100) #第一种修改方式 n.name="wode" n.save() # models.test.objects.all().update(is_delete=0) #第二种修改方式
五、表数据查询
# 查询 # get方法查询的话,必须的保证这个数据查出来的只有1条,才可以 result = models.test.objects.get(name="wode") result2 = models.test.objects.get(id=109) print(result) print(result2) # filter 可以查询多条数据 result = models.test.objects.filter(is_delete=0) print(result) # 模糊查询 result = models.test.objects.filter(name__contains='w', id__gte=1) # gt大于,lt 小于,gte大于等于,lte小于等于,range范围之间,in在什么内 result = models.test.objects.exclude(id=100) # exclude排除,不等于 all = models.test.objects.all() print(result) print(all)