Django中的Model中的字段类型、字段选项与关系类型

字段类型:

autoField:一个根据实际ID自动增长的IntegerField,通常不指定,如果不指定,一个主键字段将自动添加到模型中

CharField(max_length=字符长度):字符串,默认的表彰样式是TextInput

TextField:大文本字段,一般超过4000时使用,默认的表单控件是Textarea

IntegerField:整数

DecimalField(max_digits=None, decimal_places=None): 使用PythonDecimal实例表示的十进制浮点数

            参数说明: DecimalField.max_digits----位数总数

                            DecimalField.decimal_places---小数点后的数字位置

FloatField: 使用Pythonfloat实例来表示的浮点数

BooleanField:True/False 字段,此字段的默认表彰控制是CheckboxInput

NullBooleanField:支持 Null, True, False 三种值

DateField([auto_now=False, auto_now_add=False]):使用Pythondatetime.date实例表示的日期

            参数说明:

                DateField.auto_now

                    每次保存对象时,自动设置该字段为当前时间,用于“最后一次修改”

                    的时间戳,它总是使用当前日期,默认为 False

                DateField.auto_now_add

                    当前对象第一次被创建时自动设置当前时间,用于创建的时间戳,

                    它总是使用当前日期,默认为 False

            说明

                该字段默认对应的表单控件是一个TextInput.在管理员站点添加了一个

                JavaScript写的日历控件,和一个“Today”的快捷按钮,包含了一个额外

                invalid_date错误消息键

            注意

                auto_now_add, auto_now, and default 这些设置是相互排斥的,他们之间

                的任何组合将会发生错误的结果

TimeField: 使用Pythondatetime.time实例表示的时间,参数同DateField

DateTimeField: 使用Pythondatetime, datetime实例表示的日期和时间,参数同DateField

 FileField: 一个上传文件的字段

 ImageField:继承了FileField的所有属性和方法,但对上传的对象进行校验,确保它是一个有效的image

字段选项

概述:通过字段选项,可以实现对字段的约束, 在字段对象中通过关键字参数指定

null:如果为True,Django将空值以NULL存储在数据库中,默认值为False

 blanke:如果为True,则该字段允许为空白,默认值为False

 注意: null是数据库范畴的概念,blank是表彰验证范畴的概念

 db_column:字段的名称,如果未指定,则使用属性的名称

 db_index:若值为 True,则在表中会为此字段创建索引

default: 默认值

primary_key: 若为 True,则该字段会成为模型的主键字段

unique:如果为 True,这个字段在表中必须有唯一值

关系类型

分类:

ForeignKey:一对多,将字段定义在多的端中

ManyToManyField:多对多,将字段定义在两端中

OneToOneField:一对一,将字段定义在任意一端中

(1)用一访问多:格式: 对象.模型类小写_set

示例:  grade.students_set

(2)用一访问一:格式:对象.模型类小写

示例: grade.studnets

(3)访问id:格式:对象.属性_id

示例:student.sgrade_id


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值