django orm常用字段汇总

一. 常用字段

自增长字段:

1. models.AutoField()
2. models.BigAutoField()
区别:BigAutoField支持的数字更大,比如十亿、二十亿

二进制数据字段:

3. models.BinaryField()
用处:我们需要向数据表中传入二进制数据的时候

布尔型字段:

4. models.BooleanField()
5. models.NullBooleanField()
区别:第1种是不允许为空的布尔型,第2种是允许为空的布尔型

整型字段:

在MySQL数据库中整型分为长整型、短整型 等类型
django中也实现了五种:
models.PositiveSmallIntegerField()   # 正整数,5个字节
models.SmallIntegerField()   # (正负)整数,6个字节
models.PositiveIntegerField()   # 正整数, 10个字节
models.IntegerField()   # (正负)整数,11个字节
models.BigIntegerField()   # (正负)整数,20个字节

字符串字段:

models.CharField()   # mysql中对应的是varchar
models.TextField()   # longtext 
区别,第一个需要指定最大长度,第二个不需要

时间日期类型:

models.DateField()    # 年月日
models.DateTimeField()  # 年月日 时分秒
models.DurationField()  # int, Python 中 timedelta实现

浮点型:

models.FloatField()
models.DecimalField()
区别:DecimalField()需要指定整数多少位,小数多少位

其他字段:

models.EmailField()   # 邮箱
models.ImageField()  
models.FileField()
models.FilePathField()
models.URLField()
models.UUIDField()
models.GenericIPAddressField()

二、关系型字段

一对一字段:

models.OneToOneField(别的数据表)

多对一字段:

models.ForeignKey(别的数据表)
注意:如果参数是self或者是自身模型类名,属于自关联

多对多字段:

models.ManyToManyField(别的数据表)
用法:默认或者自定义中间表
发布了70 篇原创文章 · 获赞 45 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_38727847/article/details/104313342