django models对应的mysql类型

Django模型字段类型与MySQL数据库类型的对应关系如下:

|-----------------------|------------------------------|
| Django 模型字段类型 | MySQL 数据库类型 |
| AutoField | BIGINT UNSIGNED |
| CharField | VARCHAR |
| IntegerField | INT |
| DecimalField | DECIMAL |
| DateField | DATE |
| DateTimeField | DATETIME |
| FileField, ImageField | VARCHAR (用于文件路径) |
| BooleanField | BOOL (如果MySQL版本支持) 或 TINYINT |
| TextField | TEXT |

注意:

1、对于BooleanField,MySQL的BOOL类型在较旧的MySQL版本中可能不支持,可以使用TINYINT代替。

2、文件路径通常存储在VARCHAR字段中。

3、日期时间使用DATE、DATETIME或TIMESTAMP字段。

4、十进制数字使用DECIMAL字段。

示例代码:

python 复制代码
from django.db import models
 
class ExampleModel(models.Model):
    id = models.AutoField(primary_key=True)
    name = models.CharField(max_length=100)
    age = models.IntegerField()
    salary = models.DecimalField(max_digits=10, decimal_places=2)
    birth_date = models.DateField()
    last_login = models.DateTimeField()
    is_active = models.BooleanField(default=True)
    description = models.TextField()

在这个示例中,每个字段都会被转换成MySQL数据库对应的类型。BooleanField可能会使用TINYINT代替BOOL,这取决于MySQL的版本。

相关推荐
qq_2975746717 小时前
MySQL核心技术实战系列(第一篇):MySQL零基础入门:安装、配置与客户端工具使用 一、前言
数据库·mysql·adb
Java成神之路-17 小时前
面试题:堆表 vs 索引组织表:区别、场景
mysql
gjc59217 小时前
Linux MySQL服务器SSH多端口配置:解决22端口禁直连,兼顾安全与运维
linux·运维·服务器·mysql·ssh
fengxin_rou18 小时前
MySQL 索引高频面试题全解析:B + 树、联合索引、索引失效
后端·mysql
重生之小比特18 小时前
【MySQL 数据库】视图
数据库·mysql
Languorous.18 小时前
MySQL 零基础安装教程(Windows11/10,图文分步,新手零失败)
数据库·mysql·adb
不断高歌18 小时前
MySQL基础随堂笔记4
笔记·mysql
牛马鸡niumasi18 小时前
Mysql:索引与B+树
mysql
Java成神之路-18 小时前
MySQL 函数索引与虚拟列深度解析
mysql
Languorous.18 小时前
Linux 系统安装 MySQL(CentOS8/Ubuntu),命令行实操完整版
linux·mysql·ubuntu