Django ORM 字段在models.py 中创建,按照固定格式在数据库模型类中建立,主要包括指定字段名的字段类型、字段属性等。
代码 name = models.CharField(max_length=32,verbose_name="姓名")中的的CharField是字段类型,指明该字段类型为字符型,括号内是设置字段属性的参数。
- max_length--->最大可容纳的字符长度
- verbose_name--->别名(对于mysql而言是没有任何意义的)
下面将列举一部分常用的字段类型:
(1) CharField():字符类型,必须提供max_length参数,max_length 表示字符长度
参数:
(1)max_length--->最大可容纳的字符长度
(2)verbose_name--->别名(对于mysql而言是没有任何意义的)
例:
class student(models.Model):
# 姓名
name = models.CharField(max_length=32,verbose_name="姓名")
(2) EmailField():邮箱类型(本质上是字符类型,只是提供了邮箱验证功能)
参数:
(1)max_length--->最大可容纳的字符长度
(2)verbose_name--->别名(对于mysql而言是没有任何意义的)
例:
class student(models.Model):
# 学生邮箱
email = models.EmailField(max_length=30, verbose_name='邮箱')
(3) TextField():大文本类型(存放大段文本字符串),如果字符串的字符超过254个字符,建议使用TextField()
参数:
verbose_name--->别名(对于mysql而言是没有任何意义的)
class student(models.Model):
# 任务清单
memo = models.TextField(verbose_name="备忘录")
(4) IntegerField():整数类型
int = models.IntegerField()
(5) BigIntegerField():大整数类型
Bigint = models.BigIntegerField
(6) DateField():日期类型(格式:2022-04-06)
参数(两个参数默认都是False,两个参数不可以同时为True):
- auto_now:记录最后一次修改的时间
- auto_now_add:记录创建的时间,不可被修改
data = models.DateField(auto_now=True,auto_now_add=False)
(7) TimeField():时间类型
参数(两个参数默认都是False,两个参数不可以同时为True):
- auto_now:记录最后一次修改的时间
- auto_now_add:记录创建的时间,不可被修改
time = models.TimeField(auto_now=True,auto_now_add=False)
(8) DecimalField():浮点数类型
参数:
(1)max_digits = 12 (表示一共有多少位数(包括小数位))
(2)decimal_places = 3 (表示小数位)
(1)max_digits = 12 (表示一共有多少位数(包括小数位))
(2)decimal_places = 3 (表示小数位)
(9) FileField(): 实际上是字符串类型,用于把上传的文件的路径保存在数据库中。
参数:
upload_to :指明上传文件的保存路径(这个路径与Django配置文件的NEDIA_ROOT变量值有关)
filetest = models.FileField(upload_to='test/')
2.常用字段属性
- primary_key:设置主键
- db_index:设置这一个字段为数据库的索引(重点),当数据量非常大的时候,需要根据业务设置索引
- unique:表中的这一个字段的值不可重复
- default:默认值(当这一个值没有给定,则填默认值)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)