首页 > 数据库 >Django数据库操作

Django数据库操作

时间:2024-11-12 16:46:55浏览次数:1  
标签:obj 数据库 list Django objects UserInfo 操作 数据 id

1. ORM框架

  • Django提供的ORM框架,可以简化MySQL代码,节省书写MySQL语句的时间。

    具体功能如下:

    1. 创建、修改、删除数据库的表(不用写SQL语句,无法创建数据库)。
    2. 修改表中数据(不用写SQL语句)。

2. ORM使用

  1. 安装mysql包
    注:Windows系统大概率安装失败,可直接去https://pypi.org/project/mysqlclient下载mysqlclient包,并通过终端输入pip install 包名 进行安装

  2. 进行settings.py数据库配置

    数据库配置
    DATABASES = {
        "default": {
            "ENGINE": "django.db.backends.mysql",
            "NAME": "test", # 数据库名称
            "USER": "root",
            "PASSWORD": "123456",
            "HOST": "127.0.0.1",    # MySQL所属服务器
            "PORT": 3306,
        }
    }
    
  3. 在models.py中创建表

    创建表
    class UserInfo(models.Model):
        name = models.CharField(max_length=32)
        password = models.CharField(max_length=64)
        age = models.IntegerField()
    
    # 上面代码会转化成SQL语句
    """
    create table app01_userinfo(
        id bigint auto_increment primary key,
        name varchar(32),
        password varchar(64),
        age int
    )
    """
    
  4. 操纵表:可以通过注释和添加代码的方式增删表,对表结构进行调整。
    注:如果该表中已有数据,则Django会提供两种方案:1.统一赋一个值;2.自行对表值定义(可设置为空)。

  5. 操作数据

    操作数据
    # 新建数据 
    insert into app01_userinfo(name) values("张三")
    UserInfo.objects.create(name="张三")
    
    注:新建数据可在views视图函数中,也可在models类中添加,对views中新建数据代码进行注释,该新建的数据不会删除。
    删除数据
    UserInfo.objects.filter(id = 3).delete()    # 把表中id为3的数据删除
    UserInfo.objects.all().delete() # 把表中数据全部删除
    
    获取数据
        # ### 3.获取数据 ###
        # data_list = [对象, 对象, 对象] QuerySet类型
        # data_list = UserInfo.objects.all()  # 查询表中所有数据
        # # print(data_list)    # 输出
        # for obj in data_list: # 依次获取
        #     print(obj.id, obj.name, obj.password, obj.age)
    
        # data_list = [对象]
        # data_list = UserInfo.objects.filter(id = 1)   # 过去id为1的数据
        # print(data_list)
        # 获取一条数据【对象】
        row_obj = UserInfo.objects.filter(id = 1).first()
        print(row_obj.id, row_obj.name, row_obj.password, row_obj.age)
    
    更新数据
        # ### 4.更新数据 ###
        UserInfo.objects.all().update(password=999) # 查找表中所有数据,将密码改为999
        UserInfo.objects.filter(id=2).update(age=999) # 查找表中id为2的数据,将其密码改为999
    
    终端启动
    python manage.py makemigrations # 更新表结构
    python manage.py migrate
    

标签:obj,数据库,list,Django,objects,UserInfo,操作,数据,id
From: https://www.cnblogs.com/submission/p/18347845

相关文章

  • Lec 07 操作系统管理页表映射
    lec07操作系统管理页表映射0Contents1操作系统设置页表映射何时设置页表映射?操作系统自己使用的页表--在启动时填写--映射全部物理内存虚拟地址=物理地址+固定偏移(直接映射,DirectMapping)思考:为什么需要直接映射?应用进程的页表--何时设置?2立即映......
  • linux下oracle数据库重起
    切换到Oracle用户,使用SQLPlus作为系统管理员关闭和启动数据库,查看和重启监听进程。使用lsnrctl工具管理监听,检查状态。1、切换到oracle用户,进入sql命令窗口su-oraclesqlplus/assysdba2、关闭数据库shutdownimmediate;关掉exit退出3、查看......
  • MIT 操作系统实验问题记录
    Linux连接vscodeRemote-SSH设置:在实验环境搭建时只用官网提供的是不够的还需要安装在gitpush到远程仓库的过程中由于clone时用的是url=git://g.csail.mit.edu/xv6-labs-2020这个所以得创建一个新的分支来向远程仓库pushgitremoteaddgiteehttps://gitee.com/zhang......
  • Oracle数据库归档模式的开启和关闭
       一、Oracle环境 Oracle服务器:oracle11goracle版本:11.2.0.1.0操作系统版本:RedHatEnterpriseLinuxServerrelease7.6(Maipo) 二、归档模式介绍    oracle是款高安全性的数据库,刚安装好的数据库一般没有开启归档模式,我们需要开启归档模式,特别是业务数......
  • Sigrity SPEED2000 Power Ground Noise Simulation模式如何进行信号时域仿真操作指导(
    SigritySPEED2000PowerGroundNoiseSimulation模式如何进行信号时域仿真操作指导(二)-三个IBIS模型SigritySPEED2000PowerGroundNoiseSimulation模式如何进行信号时域仿真操作指导(一)-单个IBIS模型介绍了在单个IBIS模型的激励下,发送和接收端的电压时域波形,当三个IB......
  • SQLSever将csv文件中的数据导入数据库中的某个表中的操作以及可能会出现的报错
    注:导入数据前,检查一下数据类型是否与数据库中的数据类型相匹配第一种方法:首先打开SQLSever数据库,右击你的数据库找到任务后点开导入平面文件,如图 在弹开的窗口中点击下一步 接下来 填写完后点击下一步,跳转到预览数据的页面,会显示出表中的前20条数据,在检查没有错误后接......
  • SpringBoot校园电动车短租平台设计与实现x2rqw 程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:学生,区域分类,电动车租借,电动车分类,租车订单,通知开题报告内容一、选题背景与意义随着环保意识的提升和校园出行需求的增加,电动车作为一种便捷、......
  • 若依框架多源数据库达梦应用适配问题处理记录-无效的模式名
    最近项目中有用户反馈应用连接数据库执行sql报无效的模式名,而在达梦客户端可以正常查询 首先怀疑的是应用连接串配置有错误,连接串配置如下: 根据查询,SZSJTGK模式不属于YSZWDT_YWYY用户将连接串模式名去掉之后还是同样问题,模式名大小写,驱动这些方面排除之后还是同样报错。......
  • Windows Resource Protection (WRP) 是微软引入的一项系统保护机制,旨在保护 Windows
    什么是WindowsResourceProtection(WRP)?WindowsResourceProtection(WRP)是微软引入的一项系统保护机制,旨在保护Windows操作系统中的关键资源,包括系统文件、驱动程序、注册表设置以及系统配置文件等。WRP是WindowsVista中首次引入的,它加强了对操作系统核心文件和资源的......
  • System File Checker(简称 SFC)是 Windows 操作系统中的一个内置工具,用于扫描和修复损坏
    SystemFileChecker(简称SFC)是Windows操作系统中的一个内置工具,用于扫描和修复损坏或丢失的系统文件。它帮助用户恢复Windows操作系统中重要的文件和组件,以确保操作系统能够正常运行。什么是SFC(SystemFileChecker)?SFC是一个命令行工具,通过扫描Windows系统中的保护文件......