Django-14-ORM定义模型

定义模型

在模型中定义属性,会生成表中的字段

django会为表自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后,则djang不会再生成默认的主键列

 

定义属性

定义属性时,需要定义字段类型

 

• 使用方式:

1)导入from django.db.import models

2)通过models.Field创建字段类型的对象,赋值给属性

• 对于认为重要数据都做逻辑删除,不做物理删除,实现方法是定义isDelete属性,类型为BooleanField,默认值为False

 

字段类型

AutoField:通常不指定,一个主键字段将自动添加到模型中

BooleanField:true/false字段,此字段的默认表单控制是CheckboxInput

NullBooleanField:支持null、true、false三种值

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

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

IntegerField:整数

FloatField:浮点数

TimeField/DateField/DateTimeField:

• 参数auto_mow:每次保存对象时,自动设置该字段为当前时间,用于最后一次修改的时间戳,它总是使用当前日期,默认为false

• 参数auto_now_add:当对象第一次被创建时自动设置当前时间,用于创建的时间戳,它总是使用当前日期,默认为false

FileField:上传文件字段

ImageField:上传图片字段

 

字段选项(实现对字段的约束)

 在字段对象时通过关键字参数指定

对比:null是数据库范畴的感念,blank是表单验证范畴的

null:如果为True,将以NULL存储到数据库中,默认值是False(即默认字段不为空)

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

 

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

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

default:默认值

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

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

 

元选项

在模型类中定义类Meta,用于设置元信息

• 元信息db_table:定义数据表名称,推荐使用小写字母,数据表的默认名称

• ordering:对象的默认排序字段,获取对象的列表时使用,接收属性构成的列表

• 字符串前加-表示倒序,不加-表示正序

• 排序会增加数据库的开销

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值