Django ORM常用字段类型

在设计模型类时,字段类型的选择至关重要,对项目的开发,甚至性能都会有影响。下面我列举出了在Django中,设计模型类时常用的字段类型,以对应MySQL为例。

自增类型

AutoField   能存储11个字节的整数,对应MySQL中的int(11),自增主键,Django是默认提供该字段的。

二进制类型

BinaryField   可存入二进制数据。

布尔类型

BooleanField   能存储1个字节的整数(0:False,1:True),对应MySQL中的tinyint(1)

整型

PositiveSmallIntegerField   能存储5个字节的正整数。

SmallIntegerField   能存储6个字节的整数。

PositiveIntegerField  能存储10个字节的正整数。

IntegerField   能存储11个字节的整数。

BigIntegerField   能存储20个字节的整数。

字符型

CharField   对应MySQL中的varchar,需要用max_length参数来指定长度。

TextField   对应MySQL中的longtext。

日期时间类型

DateField   对应MySQL中的date

DateTimeField   对应MySQL中的datetime

TimeField   对应MySQL中的time

浮点型

FloatField

DecimalField

DecimalField相比于FloatField更加精确。

关系类型

ForeignKey   外键关联,实现一对多。

OneToOneField   外键关联,实现一对一,继承自ForeignKey,其实就是添加了一个唯一索引unique。

ManyToManyField   外键关联,实现多对多,本质上其实是创建了一张中间表来实现多对多的关联。

其他类型

EmailField   继承自CharField,实现了对email的特殊处理。

FileField   继承自CharField,实现了对文件的特殊处理。

ImageField   继承自FileField,用来处理图片。

URLField   继承自CharField,实现了对URL的特殊处理。

UUIDField   对应MySQL中的char(32),用来存放生成的唯一id。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值