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

相关推荐
熙客6 小时前
Kubernetes是如何保证有状态应用数据安全和快速恢复的
mysql·云原生·容器·kubernetes
倔强的石头1068 小时前
KingbaseES:从兼容到超越,详解超越MySQL的权限隔离与安全增强
数据库·mysql·安全·金仓数据库
小鸡毛程序员8 小时前
我在CSDN学MYSQL之----数据库基本概念和基本知识(下)
数据库·mysql
米花町的小侦探8 小时前
解决 GORM + MySQL 5.7 报错:Error 1067: Invalid default value for ‘updated_at‘
mysql
小灰灰搞电子9 小时前
Rust 操作Sqlite数据库详细教程
数据库·rust·sqlite
yumgpkpm10 小时前
Doris 并入CMP7(类Cloudera CDP 7.3.1 404华为鲲鹏ARM版)的方案和实施源代码
大数据·oracle·sqlite·sqoop·milvus·cloudera
老衲提灯找美女10 小时前
MySQL数据库基础操作:
数据库·mysql·oracle
ヾChen10 小时前
头歌MySQL——复杂查询
数据库·物联网·学习·mysql·头歌
yoi啃码磕了牙11 小时前
Unity—Localization 多语言
java·数据库·mysql
星光一影13 小时前
打车/网约车、代驾、顺风车/拼车、货运、租车等多种出行服务的一站式解决方案
mysql·微信小程序·php·uniapp·html5·web app