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. MySQL-带你上官网看索引

    在我之前的一篇文章中,有引用一个讨论用Hash还是Tree的问题,DB中关于查找类数据结构,除了树,还有Hash(HashMap,HashSet). 存储数据结构之争 B+树主要是照顾磁盘IO这种特殊 ...

  2. 安卓机上 4G 内存跑 alpaca,欢迎试用轻量级 LLM 模型推理框架 InferLLM

    从 LLM 火爆以来,社区已经出现了非常多优秀的模型,当然他们最大的特点就是体积大,最近为了让大模型可以在更低端的设备上运行,社区做了非常多的工作, gptq 实现了将模型进行低比特量化,因此降低了运 ...

  3. 程序员IT行业,外行眼里高收入人群,内行人里的卷王

    程序员 一词,在我眼里其实是贬义词.因为我的其他不是这行的亲朋友好友,你和他们说,你是一名程序员· 他们 第一刻板影响就是,秃头,肥胖,宅男,油腻,不修边幅 反正给人一种不干净,不好形象,,,,不知道 ...

  4. 2022-12-16:给你一个长度为n的数组,并询问q次 每次询问区间[l,r]之间是否存在小于等于k个数的和大于等于x 每条查询返回true或者false。 1 <= n, q <= 10^5 k

    2022-12-16:给你一个长度为n的数组,并询问q次 每次询问区间[l,r]之间是否存在小于等于k个数的和大于等于x 每条查询返回true或者false. 1 <= n, q <= 1 ...

  5. 2022-08-14:k8s安装PostgreSQL,yaml如何写?

    2022-08-14:k8s安装PostgreSQL,yaml如何写? 答案2022-08-14: yaml如下: apiVersion: apps/v1 kind: Deployment metad ...

  6. 2021-04-01:给定一个正方形矩阵matrix,原地调整成顺时针90度转动的样子。[[a,b,c],[d,e,f],[g,h,i]]变成[[g,d,a],[h,e,b],[i,f,c]]。

    2021-04-01:给定一个正方形矩阵matrix,原地调整成顺时针90度转动的样子.[[a,b,c],[d,e,f],[g,h,i]]变成[[g,d,a],[h,e,b],[i,f,c]]. 福大 ...

  7. 2021-08-20:打砖块。有一个 m x n 的二元网格,其中 1 表示砖块,0 表示空白。砖块 稳定(不会掉落)的前提是:1.一块砖直接连接到网格的顶部,或者,2.至少有一块相邻(4 个方向之一

    2021-08-20:打砖块.有一个 m x n 的二元网格,其中 1 表示砖块,0 表示空白.砖块 稳定(不会掉落)的前提是:1.一块砖直接连接到网格的顶部,或者,2.至少有一块相邻(4 个方向之一 ...

  8. 2021-11-02:生命游戏。根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机。给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个

    2021-11-02:生命游戏.根据 百度百科 ,生命游戏,简称为生命,是英国数学家约翰·何顿·康威在 1970 年发明的细胞自动机.给定一个包含 m × n 个格子的面板,每一个格子都可以看成是一个 ...

  9. 2021-10-04:解码方法 II。‘A‘ -> 1,‘B‘ -> 2,...‘Z‘ -> 26。*是1-9,不包含0。给你一个字符串 s ,由数字和 ‘*‘ 字符组成,返回 解码 该字符串的方法

    2021-10-04:解码方法 II.'A' -> 1,'B' -> 2,-'Z' -> 26.是1-9,不包含0.给你一个字符串 s ,由数字和 '' 字符组成,返回 解码 该字符 ...

  10. Selenium - 模拟键盘鼠标操作

    Selenium - 模拟键盘鼠标 鼠标操作 当出现由 Selenium 的 click 无法进行操作,或者需要对元素进行拖拽等操作时,可以采用鼠标模拟人工操作: from selenium impo ...