Django整合mysqlclinet步骤

news2024/10/6 22:19:09

准备工作

要在 Django 中使用 MySQL 数据库,您需要完成以下步骤:

  1. 安装 MySQL 服务器和客户端。你可以从官方网站下载并安装:https://www.mysql.com/downloads/

  2. 安装 mysqlclient。mysqlclient 是一个 Python 的第三方库,用于连接 MySQL 数据库。您可以使用 pip 安装:

pip install mysqlclient
  1. 在 Django 项目中添加数据库配置。在项目的 settings.py 文件中,找到 DATABASES 设置,根据您的 MySQL 服务器设置以下参数:
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'mydatabase', # 数据库名称
        'USER': 'mydatabaseuser', # 数据库用户
        'PASSWORD': 'mypassword', # 数据库密码
        'HOST': '127.0.0.1', # 数据库地址
        'PORT': '3306', # 数据库端口
    }
}
  1. 同步数据库。在 Django 项目目录下,运行以下命令:
python manage.py migrate
  1. 测试连接。通过运行以下命令来测试是否可以连接数据库:
python manage.py dbshell

如果一切正常,您将看到 MySQL 终端界面。

image-20230404124847406

希望以上步骤能够帮助您在 Django 中成功连接 MySQL 数据库!

创建表

在 Django 中创建数据库表需要使用 Django 的模型(Model)和迁移(Migration)功能,以下是具体的步骤:

  1. 定义模型类。在 Django 项目中的一个 App 下的 models.py 文件中定义模型类,例如:
from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=50)
    publish_date = models.DateField()
    price = models.FloatField()
  1. 生成迁移文件。使用以下命令生成模型对应的迁移文件:
python manage.py makemigrations

这将创建一个新的迁移文件(位于应用中的 migrations 目录下)记录模型的改变。

  1. 同步数据库。使用以下命令将模型应用到数据库中:
python manage.py migrate

这将会执行所有未应用的迁移文件,创建相应的表、字段等结构。

补充:

当有两个表,

  • 无约束:

    depart_id=models.BigIntegerField(verbose_name='部门id')
    
  • 有约束

    depart=models.ForeignKey(to="Department",to_field="id",on_delete=models.CASCADE)
    

当联表有删除时:

  1. 级联删除:

    depart=models.ForeignKey(to="Department",to_field="id",on_delete=models.CASCADE)
    
  2. 置空:

    depart=models.ForeignKey(to="Department",to_field="id",null=True,Blank=True,on_delete=models.SET_NULL)
    

现在您就已经成功创建了一个表,并可以使用 Django 的 ORM 方法来操作它了。例如:

# 创建一条新纪录
book = Book(title='Django 教程', author='张三', publish_date='2023-04-01', price=59.99)
book.save()

# 查询所有的书籍
books = Book.objects.all()

# 删除一条记录
book.delete()

希望以上步骤能够帮助您在 Django 中成功创建 MySQL 数据库表!

各种数据类型

在 Django 中,模型类中的每个属性表示表中的一个字段。下面是 Django 中可用的一些主要字段类型及其对应的 Python 数据类型和一些示例:

  1. CharField:字符型(字符串)
title = models.CharField(max_length=100)
  1. TextField:文本类型(字符串)
description = models.TextField()
  1. IntegerField:整型
age = models.IntegerField()
  1. FloatField:浮点型
price = models.FloatField()
  1. DateField:日期类型
publish_date = models.DateField()
  1. DateTimeField:日期时间类型
created_at = models.DateTimeField()
  1. BooleanField:布尔类型
is_public = models.BooleanField()
  1. FileField:文件类型
file = models.FileField()
  1. ImageField:图片类型
image = models.ImageField()

除了上述字段之外,Django 还有一些其他的字段类型,例如 EmailField、URLField 等。此外,您也可以使用 ForeignKey、OneToOneField 等关系字段来描述表之间的关系。

希望这些举例可以使您更好地了解 Django 模型中可用的数据类型!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/412895.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chapter-7数据库事务

以下课程来源于MOOC学习—原课程请见:数据库原理与应用 考研复习 DBMS保证系统中一切事务的原子性、一致性、隔离性和持续性 DBMS必须对事务故障、系统故障和介质故障进行恢复 恢复中最经常使用的技术:数据库转储和登记日志文件 恢复的基本原理&#…

十二、网络规划与设计

(一)网络设计基础 1、网络系统生命周期 (1)四阶段周期(重叠) 构思与规划阶段、分析与设计阶段、实施与构建阶段、运行与维护阶段 特点:能够快速适应新的需求变化,成本低&#xf…

【SQL 初阶教程】一文轻松玩转 SQL

目录 一、SQL 通用语法 二、SQL 语句的分类 三、DDL语句 DDL——数据库操作 查询所有数据库 语句: SHOW DATABASES;(大小写均可,建议大写) 创建数据库HSK 语句:CREATE DATABASE HSK; 删除数据库HSK 语句 &#…

关于本地git通过ssh链接github时 time out问题的解决方法

目录问题描述解决方法问题描述 我们如果想要用git ssh链接到远端github,进行repo的clone等操作时,会进行如下的操作: 首先在ssh端命令生成rsa秘钥,命令如下: ssh-keygen -t rsa -C “你的git绑定的邮箱名字”然后在g…

【HBase-读写流程】HBase的读写流程与内部执行机制

【HBase-读写流程】HBase的读写流程与内部执行机制1)HBase 读取数据流程1.1.文字描述1.2.流程图2)HBase 写入数据流程2.1.文字描述2.2.流程图3)flush 机制与 compact 机制的原理3.1.文字描述3.2.流程图1)HBase 读取数据流程 1.1.…

游戏开发之Unity2021URP项目场景的构建

地面的修改和编辑:地面插件的使用 打开包管理器,在左边的包那里选择“Unity注册表”,在右边进行搜索“Polybrush”,之后选择右下角的安装 安装完之后要选择样本中的URP进行导入,因为我们的项目是URP渲染管线的&#x…

IronOCR for .NET crack,IronOCR的独特功能

IronOCR for .NET crack,IronOCR的独特功能  在IronTesseract上添加了新的“ReadPdfAndOverlayText”方法,该方法允许您添加文本并保留原始PDF书签/注释。 添加了对存储在应用程序子文件夹中的.config和.json文件中的许可证密钥的支持。 将IronSoftware.System.Dra…

shell 函数和数组作业

1、编写函数,实现打印绿色OK和红色FAILED,判断是否有参数,存在为Ok,不存在为FAILED 2、编写函数,实现判断是否无位置参数,如无参数,提示错误 3、编写函数实现两个数字做为参数,返回最大值 4、…

Minecraft 1.12.2模组开发(五十六) 网络(Networking)

我们本次在模组中实现客户端向服务器发送数据的功能。 演示效果演示效果演示效果 1.新建packet包,包中新建PacketHandler类: PacketHandler.java package com.joy187.mcjoygun.packet;import com.joy187.mcjoygun.Main; import com.joy187.mcjoygun.u…

Huggingface微调BART的代码示例:WMT16数据集训练新的标记进行翻译

BART模型是用来预训练seq-to-seq模型的降噪自动编码器(autoencoder)。它是一个序列到序列的模型,具有对损坏文本的双向编码器和一个从左到右的自回归解码器,所以它可以完美的执行翻译任务。 如果你想在翻译任务上测试一个新的体系…

Java Stream API 操作完全攻略:让你的代码更加出色 (四)

前言 Java Stream 是一种强大的数据处理工具,可以帮助开发人员快速高效地处理和转换数据流。使用 Stream 操作可以大大简化代码,使其更具可读性和可维护性,从而提高开发效率。本文将为您介绍 Java Stream 操作的所有方面,包括 ran…

交友项目【通用设置】三个功能实现

目录 1:交友项目【通用设置】 1.1:查询通用设置 1.1.1:接口地址 1.1.2:流程分析 1.1.3:代码实现 1.2:设置陌生人问题 1.2.1:接口地址 1.2.2:流程分析 1.2.3:代码…

Python 小型项目大全 51~55

五十一、九十九瓶的变体 原文:http://inventwithpython.com/bigbookpython/project51.html 在歌曲“九十九瓶”的这个版本中,该程序通过删除一个字母、交换一个字母的大小写、调换两个字母或重叠一个字母,在每个小节中引入了一些小的不完美。…

4月,我从外包公司离职了

先说一下自己的情况,大专生,18年通过校招进入湖南某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

python学习

1.安装 Download Python | Python.org 安装时,点击添加路径。 1.1 python的解释器 我们把代码写进.py结尾的文件里,然后 python 路径文件名就可以运行它了。 2.字面量 例如print("我们"),"我们",就是字符串字面量,…

简化你的代码,提高生产力:这10个Lambda表达式必须掌握

前言 Lambda表达式是一种在现代编程语言中越来越常见的特性,可以简化代码、提高生产力。这篇文章将介绍10个必须掌握的Lambda表达式,这些表达式涵盖了在实际编程中经常用到的常见场景,例如列表操作、函数组合、条件筛选等。通过学习这些Lambd…

JUC源码系列-CountDownLatch源码研读

前言 CountDownLatch是一个很有用的工具,latch是门闩的意思,该工具是为了解决某些操作只能在一组操作全部执行完成后才能执行的情景。例如,小组早上开会,只有等所有人到齐了才能开;再如,游乐园里的过山车&…

运行时内存数据区之堆(二)

Minor GC、Major GC、与Full GC JVM在进行GC时,并非每次都对上面三个内存(新生代、老年代:方法区)区域一起回收的,大部分时候回收的都是指新生代。 针对HotSpot VM的实现,它里面的GC按照回收区域又分为两…

浅谈 如果做微服务了 这个模块怎么去划分?

如果做微服务了 这个模块怎么去划分? 还是高内聚 低耦合的一个思想吧 ,单一职责的设计原则,也是一个封装的思想吧, 业务维度: ​ 按照业务的关联程度来决定,关联比较密切的业务适合拆分为一个微服务&…

C++语法(14)---- 模板进阶

C语法(13)---- 模拟实现priority_queue_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/130069707?spm1001.2014.3001.5501 目录 1.非类型模板参数 2.模板的特化 1.函数模板(仿函数) 2.类模板 1.全特化 2.半特化、偏…