ORM
ORM是什么?:(在django中,根据代码中的类自动生成数据库的表也叫--code first)
ORM:Object Relational Mapping(关系对象映射)
类名对应------》数据库中的表名
类属性对应---------》数据库里的字段
类实例对应---------》数据库表里的一行数据
obj.id obj.name.....类实例对象的属性
Django orm的优势:
Django的orm操作本质上会根据对接的数据库引擎,翻译成对应的sql语句;所有使用Django开发的项目无需关心程序底层使用的是MySQL、Oracle、sqlite....,如果数据库迁移,只需要更换Django的数据库引擎即可;
创建数据库类
models.py
#导包导入django数据库类 from django.db import models #建立数据库类 class User(models.Model): #主键 通过参数声明主键 id = models.IntegerField(primary_key=True) #用户名 字符串类型需要声明长度限制 username = models.CharField(max_length=200) #密码 password = models.CharField(max_length=100) #时间字段 time = models.DateTimeField() #图片 img = models.CharField(max_length=200) #性别 gender = models.IntegerField() #声明表名 class Meta: #必须和数据库中的表名吻合 db_table = "user"
#查询全部数据
res = User.objects.all()
#print(res)
#查询限定条件的数据
res = User.objects.filter(username='新用户',password='你好')
#print(res)
#只取一条
res_one = User.objects.get(id=1)
#print(res_one)
#排除条件
res = User.objects.exclude(username='新用户')
#定制字段显示
res_s = User.objects.filter(username='新用户').values('password')
#排序
res = User.objects.filter(username='新用户').order_by("password").reverse()
#去重
res_dis = User.objects.filter(username='新用户').values('username').distinct()
#print(res_dis)
#取数量
res_count = User.objects.filter(username='新用户').count()
print(res_count)
#入库操作(增)
#建立实例
#user = User(username='新用户',password='你好')
#入库操作
#user.save()
#删除数据(删)
#User.objects.filter(username='新用户').delete()
#修改数据(改) 第一种方式
#user = User.objects.get(id=9)
#修改字段
#user.username = '1234'
#保存修改
#user.save()
#修改数据(改) 第二种方式
#return HttpResponse('',status=403)
#User.objects.filter(id=9).update(password='新密码')