Django ORM 字段

Django ORM 字段,第1张

Django ORM 字段在models.py 中创建,按照固定格式在数据库模型类中建立,主要包括指定字段名的字段类型、字段属性等。


1.常用字段类型

代码 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:默认值(当这一个值没有给定,则填默认值)

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/570613.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存