Django基本数据库操作

Django基本数据库操作


文章目录

👨‍🏫内容一:基本数据库配置


👉Django是一个流行的Python Web框架,它可以使用不同的数据库引擎来存储和管理数据。Django默认使用sqlite数据库,但是你也可以配置它使用mysql数据库。这里我将配置的是本地的Mysql数据库👇
1️⃣ 安装mysqlclient库,它是一个Python的数据库接口驱动,可以让Django和mysql进行通信。你可以使用pip命令来安装它➡️ pip install mysqlclient
2️⃣在Django项目的settings.py 文件中,修改DATABASES字典⬇️

ENGINE为'django.db.backends.mysql'

NAME为你要连接的数据库名字

USER为数据库登录的用户名

PASSWORD为对应的密码

HOST为数据库服务器的位置(一般为'127.0.0.1')

PORT为数据库服务器端口(一般为'3306')

clike 复制代码
DATABASES = {
   'default': {
       'ENGINE': 'django.db.backends.mysql', 
       'NAME': 'test',
       'USER': 'root',
       'PASSWORD': 'xxxxxx',
       'HOST': '127.0.0.1',
       'PORT': '3306',
   }
}

3️⃣在Django项目的models.py文件中,定义你的数据模型类,继承自models.Model。每个类对应一个数据表,每个属性对应一个字段

clike 复制代码
from django.db import models

class Collect(models.Model):
   value = models.IntegerField(verbose_name="气味数值")
   

4️⃣使用python manage.py makemigrations 命令,创建迁移文件,这些文件会记录你对数据模型的修改。如果有多个应用,你可以指定应用名来只创建该应用的迁移文件。
5️⃣使用python manage.py migrate 命令,将迁移文件应用到数据库中,这样就会在mysql数据库中创建对应的数据表。如果有多个应用,你也可以指定应用名来只应用该应用的迁移文件。


🌸🌸🌸🌷🌷🌷💐💐💐🌷🌷🌷🌸🌸🌸

👨‍🔬内容二:ORM基本操作


1️⃣ 新增数据(Create)

clike 复制代码
  models.Collect.objects.create(value=100)   #新增value=100数据
  models.Collect.objects.create(**{"value": 200})  #新增value=200数据


2️⃣ 删除数据(Delete)

clike 复制代码
  models.Collect.objects.filter(value=200).delete()   #删除所有value=200的数据
  models.Collect.objects.all().delete()  #删除所有数据


3️⃣ 修改数据(Update)

clike 复制代码
  models.Collect.objects.filter(value=200).update(value=300)  #将value=200的数据都改成value=300
  models.Collect.objects.all().update(value=300)  #将所有数据更新为value=300


4️⃣ 查找数据(Retrieve)

clike 复制代码
queryset = models.Collect.objects.all()
queryset = models.Collect.objects.all().filter(id__gt=0)  #查找所有id>0的数据
queryset = models.Collect.objects.filter(value=300).first()
相关推荐
烬羽几秒前
一个博客系统,为什么要拆成 6 张表?
数据库·mysql
程序员-Benothing2 分钟前
MySQL 中的日志类型有哪些?binlog、redo log 和 undo log 的作用和区别是什么?
数据库·mysql
XuCoder6 分钟前
你写的每条 SQL 都没加过锁,可 MySQL 凭什么不怕两个事务打架?
数据库·后端
circuitsosk12 分钟前
智能体任务拆解与执行:基于ReAct+Plan-and-Execute框架的行业Skill构建实录
前端·javascript·python·react.js·react·llm agent·智能体编排
麻雀飞吧13 分钟前
近期量化工具怎么选,先看你卡在哪一环
人工智能·python
通信仿真爱好者13 分钟前
第【109】期--基于神经网络的OFDM峰均功率比降低方法--python完整代码
python·神经网络·ofdm·限幅滤波·峰均功率比·papr降低
阿图灵14 分钟前
OpenCV 图像特征与匹配:SIFT 特征检测与 BFMatcher 暴力匹配
图像处理·人工智能·python·opencv·计算机视觉·sift
2301_8009549916 分钟前
MySQL 数据库基础:数据类型、查询与备份恢复
数据库·mysql·oracle
起名真的太难了18 分钟前
Mysql的数据类型,查询与备份操作
数据库·sql·mysql
程序猿_极客18 分钟前
【免费】分享一套优质的基于Php+Mysql的电子购物网站的设计与实现,校园小卖部系统
数据库·mysql·php·购物商城系统