千家信息网

Django 数据库ORM操作 - 单表的创建,增加,删除,更改和查询

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,Django里面,管理数据库和sqlarchemy类似,也是通过orm框架来实现的。所有的数据库的建立,都是在model.py里面通过类来实现的。首先看看如何创建一个单表:a. 先定义一个类,继承mo
千家信息网最后更新 2024年11月11日Django 数据库ORM操作 - 单表的创建,增加,删除,更改和查询

Django里面,管理数据库和sqlarchemy类似,也是通过orm框架来实现的。所有的数据库的建立,都是在model.py里面通过类来实现的。


首先看看如何创建一个单表:

a. 先定义一个类,继承models.Model, 然后根据需求定义参数,这些参数的类型和变量后面会进一步阐述

models.py

from django.db import modelsclass UserInfo(models.Model):    username = models.CharField(max_length=32)    password = models.CharField(max_length=64)


b. 注册app

settings.py

INSTALLED_APPS = [    'django.contrib.admin',    'django.contrib.auth',    'django.contrib.contenttypes',    'django.contrib.sessions',    'django.contrib.messages',    'django.contrib.staticfiles',    'app01',]


c.执行命令。 第一条命令会生成一个初始化文件,第二个命令会生成对应的表

python manage.py  makemigrationspython manage.py  migrate


这样,就在PyCharm自带的sqlite数据库里面成功的生成了一个app01_UserInfo的表。这个表默认会有一个自增的id作为主键,另外两个字段是我们通过类创建的。


d. 如果希望使用mysql,因为Django默认使用了MySqldb模块,这个在3.0版本里面不存在,会直接报错。我们需要改为pymysql的模块,方法如下:

在project同名文件夹下的__init__文件中添加如下代码即可:

import pymysql

pymysql.install_as_MySQLdb()


2. 对于单表的增删改查询


查询

获取所有结果,获取到的结果是一个QuerySet的类似列表的对象,每一个元素本身又是一个对象,包括了id,name,password等属性。


obj = models.UserInfo.objects.all()

, , , , ]>


可以通过filter进行过滤,相当于sql的where语句,因为结果也是QuerySet,因此需要再使用first()获取第一个值

 obj = models.UserInfo.objects.filter(id=nid).first()


增加

models.UserInfo.objects.create(username=u,password=p,user_group_id=3)


删除,可以在filter的基础上进行删除

models.UserInfo.objects.filter(id=nid).delete()


修改,有两种常见方式

第一个方式

models.UserInfo.objects.filter(id=nid).update(username=u,password=p)


第二个方式

obj=models.UserInfo.objects.filter(id=nid)obj.username=uobj.save()


数据 数据库 命令 文件 方式 结果 生成 查询 参数 对象 模块 成功 两个 代码 元素 又是 变量 可以通过 基础 字段 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 赶超上海网络技术有限公司 最惨服务器 服务器扩硬盘 二道区网络技术诚信合作 安宁软件开发价格信息 华为数据库布局 国外主要全文数据库的特点 软件开发实训室图片 2018年网络安全敏感期 现在还有没有网络安全专业 服务器取消关机计划 西安维克阿普网络技术有限公司 国家重大会议网络安全防范措施 学生网络安全保卫工作总结 网络安全和信息化l龙头股 江苏交友软件开发多少钱 政府网络安全工作方案 2k20服务器为什么关闭 周口网络技术是什么 软件开发公司提供服务 多媒体软件开发阶段有哪些 华为网络安全隐私保护工程师 刘文洋数据库技术pdf 软件开发很重要的5个原因 旗委网络安全和信息化委员会议 数据库系统及应用崔巍实验题答案 如何用数据库查询学号 曙光天阔服务器是哪个厂家 逾期上交基础银行数据库 网络安全宣传班会总结报告
0