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’)

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。每个类对应一个数据表,每个属性对应一个字段

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)

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

2️⃣ 删除数据(Delete)

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

3️⃣ 修改数据(Update)

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

4️⃣ 查找数据(Retrieve)

queryset = models.Collect.objects.all()
queryset = models.Collect.objects.all().filter(id__gt=0) #查找所有id>0的数据
queryset = models.Collect.objects.filter(value=300).first()

Django基本数据库操作的更多相关文章

  1. Django 2.0 学习(16):Django ORM 数据库操作(下)

    Django ORM数据库操作(下) 一.增加表记录 对于表单有两种方式: # 方式一:实例化对象就是一条表记录france_obj = models.Student(name="海地&qu ...

  2. Django 2.0 学习(14):Django ORM 数据库操作(上)

    Django ORM 数据库操作(上) ORM介绍 映射关系: 数据库表名 ---------->类名:数据库字段 ---------->类属性:数据库表一行数据 ----------&g ...

  3. Django与数据库操作

    Django与数据库操作 数据库连接的方法 web 框架 django --- 自己内部实现 (ORM) + pymysql(连接) Flask,tornado --- pymysql SQLArch ...

  4. django models 数据库操作

    django models 数据库操作 创建模型 实例代码如下 from django.db import models class School(models.Model): pass class ...

  5. Django模型-数据库操作

    前言 前边记录的URLconf和Django模板全都是介绍页面展示的东西,也就是表现层的内容.由于Python先天具备简单而强大的数据库查询执行方法,Django 非常适合开发数据库驱动网站. 这篇开 ...

  6. django中数据库操作——in操作符

    django一对多关系中,为了实现按照一端查询多端,之前都是用extra操作符,经过查看官方文档还有in这个操作符,用这个实现更简单.直接上代码: 根据查询条件模糊查询所有符合条件的机架列表,然后根据 ...

  7. django models数据库操作

    一.数据库操作 1.创建model表         基本结构 1 2 3 4 5 6 from django.db import models     class userinfo(models.M ...

  8. 03: Django Model数据库操作

    目录:Django其他篇 01:Django基础篇 02:Django进阶篇 03:Django数据库操作--->Model 04: Form 验证用户数据 & 生成html 05:Mo ...

  9. django 快速数据库操作,不用SQL语句

    配置models文件 # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db import mod ...

  10. django学习-数据库操作接口API--(CRUD)

    初试API(数据库操作接口CRUD) 现在我们进入交互式python命令行,尝试一下django为你创建的各种API,通过以下命令打开python命令行: py -3 manage.py shell进 ...

随机推荐

  1. Windows亚克力特效代码实现(Dev c++可以编译通过)

    #include <windows.h> #include <dwmapi.h> // 定义一个枚举类型,表示不同的窗口组合状态 enum AccentState { ACCE ...

  2. php获取未解码之前的原始接口请求参数

    前言 目前的几个项目,业务方基本都使用POST方式请求接口,我们本机磁盘会保留一份请求的原始参数用于请求分析和问题排查使用,一般有问题,也会基于seqid(请求唯一id)捞到日志,copy参数模拟请求 ...

  3. 2022-12-27:etcd是无界面的,不好看,joinsunsoft/etcdv3-browser是etcd的web可视化工具之一。请问在k3s中部署,yaml如何写?

    2022-12-27:etcd是无界面的,不好看,joinsunsoft/etcdv3-browser是etcd的web可视化工具之一.请问在k3s中部署,yaml如何写? 答案2022-12-27: ...

  4. 2022-05-18:假设数组a和数组b为两组信号: 1) length(b) <= length(a); 2) 对于任意0<=i<length(b), 有b[i+1] - b[i] == a[i+1

    2022-05-18:假设数组a和数组b为两组信号: length(b) <= length(a): 对于任意0<=i<length(b), 有b[i+1] - b[i] == a[ ...

  5. vue全家桶进阶之路43:Vue3 Element Plus el-form表单组件

    在 Element Plus 中,el-form 是一个表单组件,用于创建表单以便用户填写和提交数据.它提供了许多内置的验证规则和验证方法,使表单验证更加容易. 使用 el-form 组件,您可以将表 ...

  6. ModuleNotFoundError: No module named 'flask_wtf'

    ModuleNotFoundError: No module named 'flask_wtf' 解决: pip install flask_wtf

  7. yaml的读写

    yaml文件的读写是真的快,也很简单.代码如下:from ruamel.yaml import YAMLimport os # 读取yaml配置文件def read_yaml(yaml_path): ...

  8. [NISACTF 2022]bingdundun~

    [NISACTF 2022]bingdundun~ 考点 文件上传.Phar://伪协议 一.题目 打开题目,发现是一道文件上传的题目,因为提示了可以压缩包,所以尝试直接上传zip文件,然后利用PHP ...

  9. 洛谷P3374 【模板】树状数组 1-(单点修改,区间查询)

    题目描述 如题,已知一个数列,你需要进行下面两种操作: 将某一个数加上 x 求出某区间每一个数的和 输入格式 第一行包含两个正整数 n,m,分别表示该数列数字的个数和操作的总个数. 第二行包含 n 个 ...

  10. Simple Date Format类到底为啥不是线程安全的?

    摘要:我们就一起看下在高并发下Simple Date Format类为何会出现安全问题,以及如何解决Simple Date Format类的安全问题. 本文分享自华为云社区<[高并发]Simpl ...