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

相关推荐
那个村的李富贵22 分钟前
解锁CANN仓库核心能力:50行代码搭建国产化AIGC图片风格迁移神器
mysql·信息可视化·aigc·cann
ggabb2 小时前
中文的精确与意境,从来都不是英文能比肩的
sqlite
玄同7653 小时前
Python 后端三剑客:FastAPI/Flask/Django 对比与 LLM 开发选型指南
人工智能·python·机器学习·自然语言处理·django·flask·fastapi
斯普信专业组3 小时前
构建基于MCP的MySQL智能运维平台:从开源服务端到交互式AI助手
运维·mysql·开源·mcp
B站_计算机毕业设计之家3 小时前
豆瓣电影推荐系统 | Python Django Echarts构建个性化影视推荐平台 大数据 毕业设计源码 (建议收藏)✅
大数据·python·机器学习·django·毕业设计·echarts·推荐算法
Exquisite.4 小时前
Mysql
数据库·mysql
orange_tt16 小时前
Djiango配置Celery
数据库·sqlite
·云扬·16 小时前
MySQL Binlog落盘机制深度解析:性能与安全性的平衡艺术
android·mysql·adb
霖霖总总17 小时前
[小技巧64]深入解析 MySQL InnoDB 的 Checkpoint 机制:原理、类型与调优
数据库·mysql
それども18 小时前
分库分表的事务问题 - 怎么实现事务
java·数据库·mysql