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

相关推荐
7ioik5 小时前
MySQL默认事物隔离级别是什么?
数据库·mysql
ERP面壁者7 小时前
Docker小白搭建xxl-job,mysql的过程日志
mysql·docker·容器
腾讯云开发者7 小时前
腾讯技术面:聊聊MySQL五大核心模块
数据库·mysql
Albert Edison7 小时前
【MySQL】事务管理
数据库·mysql
计算机毕设指导67 小时前
基于Django的本地健康宝微信小程序系统【源码文末联系】
java·后端·python·mysql·微信小程序·小程序·django
gjc5927 小时前
MySQL无主键大表删除导致主从同步延迟的深度分析
数据库·mysql
杨了个杨89827 小时前
Rsyslog + MySQL 实现日志集中存储
数据库·mysql
Token_w7 小时前
Llama 3-8B-Instruct 在昇腾 NPU 上的 SGLang 性能实测
mysql·llama·sglang
程序员王天7 小时前
SQLite 查询优化实战:从9秒到300毫秒
数据库·electron·sqlite
贺今宵7 小时前
安装sqlite3报错找不到c++/python/nodegyp错误,electron-vite,下载Visual Studio,配置vc环境变量
electron·sqlite·node.js