Django之模型定义
Django 之模型定义
Djnago
django项目实例Django概述
1. Django对各种数据库提供了很好的⽀持,Django为这些数据库提供了统⼀的调⽤API,可以根据不同的业务需求选择不同的数据库。
2. ⼀个模型类在数据库中对应⼀张表,在模型类中定义的属性,对应该模型对照表中的⼀个字段。
Django模型定义
1. django会为表增加⾃动增长的主键列,每个模型只能有⼀个主键列,如果使⽤选项设置某属性为主键列后,则django不会再⽣成默认
的主键列。
2. 由于django的查询⽅式,不允许使⽤连续的下划线。
3. 定义属性时,需要字段类型,字段类型被定义在dels.fields⽬录下,为了⽅便使⽤,被导⼊到dels中,定义模
型时先导⼊from django.db import models,通过models.Field创建字段类型的对象,赋值给属性。
注意:对于重要数据都做逻辑删除,不做物理删除,实现⽅法是定义isDelete属性,类型为BooleanField,默认值为False
字段类型
AutoField:⼀个根据实际ID⾃动增长的IntegerField,通常不指定如果不指定,⼀个主键字段将⾃动添加到模型中。
1. CharField(max_length=字符长度):字符串,默认的表单样式是TextInput。
2. TextField:⼤⽂本字段,⼀般超过4000使⽤,默认的表单控件是Textarea。
3. IntegerField:整数
4. DecimalField(max_digits=None, decimal_places=None):使⽤python的Decimal实例表⽰的⼗进制浮点
数,DecimalField.max_digits(位数总数),DecimalField.decimal_places(⼩数点后的数字位数)。
5. FloatField:⽤Python的float实例来表⽰的浮点数。
6. BooleanField:true/false 字段,此字段的默认表单控制是CheckboxInput。
7. NullBooleanField:⽀持null、true、false三种值。
8. DateField([auto_now=False, auto_now_add=False]):使⽤Python的datetime.date实例表⽰的⽇期,DateField.auto_now,每
次保存对象时,⾃动设置该字段为当前时间,⽤于"最后⼀次修改"的时间戳,它总是使⽤当前⽇期,默认为
false,DateField.auto_now_add,当对象第⼀次被创建时⾃动设置当前时间,⽤于创建的时间戳,它总是使⽤当前⽇期,默认为false。
注意:auto_now_add, auto_now, and default 这些设置是相互排斥的,他们之间的任何组合将会发⽣错误的结果
TimeField:使⽤Python的datetime.time实例表⽰的时间,参数同DateField。
DateTimeField:使⽤Python的datetime.datetime实例表⽰的⽇期和时间,参数同DateField。
FileField:⼀个上传⽂件的字段。
ImageField:继承了FileField的所有属性和⽅法,但对上传的对象进⾏校验,确保它是个有效的image。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论