django中数据库的配置及相关增删改查

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='新密码')
 
 

猜你喜欢

转载自www.cnblogs.com/liang715200/p/10465582.html