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的版本。

相关推荐
我的xiaodoujiao几秒前
Django 基础知识详细图文教程 1-Django 介绍
后端·python·学习·测试工具·django
Allen_LVyingbo25 分钟前
医疗AI可扩展网格信息系统中网格计算技术的智能优化
大数据·人工智能·python·算法·机器学习·django·健康医疗
mmsx32 分钟前
基于 Android 的本地商城订单 App:SQLite + 多角色架构的技术实践(有源码和文档)
android·架构·sqlite
自己的九又四分之三站台37 分钟前
RasterLite2 栅格数据处理函数全量参考:从 Coverage 创建到像元、金字塔与地图输出
sqlite·地理信息
Quincy_Freak42 分钟前
银河麒麟终端数据处理标准化实践:SQLiteGo 效能评估与落地路径
sqlite·数据库管理·大数据分析·银河麒麟·aarch64·sqlitego
程序员小八7779 小时前
MySQL 事务:一文把 ACID、隔离级别、MVCC、锁全串起来
数据库·mysql
阮胜昌13 小时前
MySQL 中的动态数据脱敏:无需更改应用程序即可保护敏感数据
android·mysql·adb
小白说大模型15 小时前
AI驱动的个性化学习路径:知识图谱与知识点关联的存储与推理
大数据·人工智能·学习·mysql·机器学习·prompt·知识图谱
这个DBA有点耶15 小时前
多模数据库深度解读:从“多库拼装”到“一库多能”的架构演进
数据库·mysql·dba
程序员夏洛16 小时前
MySQL 默认的事务隔离级别是什么?为什么选择这个级别?
数据库·mysql