笔记目录
前言
一、models字段类型
1.概述
django根据属性的类型确定以下信息
当前选择的数据库支持字段的类型渲染管理表单时
使用的默认html控件在管理站点最低限度的验证django会为表增加自动增长的主键列,
每个模型只能有一个主键列,
如果使用选项设置某属性为主键列后则django不会再生成默认的主键列
2.属性命名限制
遵循标识符规则
由于django的查询方式,不允许使用连续的下划线
定义属性时,需要字段类型,
字段类型被定义在django.db,models.fields目录下,为了方便使用被导入到django.db.models中
3.使用方式
导入from django.db import models
通过models.Field创建字段类型的对象,赋值给属性
4.逻辑删除和物理删除
对于重要数据都做逻辑删除,不做物理删除,
实现方法是定义is_delete属性,类型为BooleanField默认值为False
is delete = models.BooleanField(default=False)
5.常用字段类型
AutoField | |
CharField | |
TextField | |
IntegerField | |
DecimalField | |
DecimalField.max digits | |
DecimalField.decimal places | |
- AutoField
一个根据实际ID自动增长的IntegerField,通常不指定,如果不指定,主键字段id将自动添加到模型中 - CharField(maxlength=字符长度).
字符串,默认的表单样式是 Input - TextField
·大文本字段,一般超过4009使用,默认的表单控件是Textarea - IntegerField
·整数 - DecimalField(max digits=None,decimal places=None)
·使用python的Decima1实例表示的十进制浮点数
参数说明 - DecimalField.max digits
·位数总数 - DecimalField.decimal places
·小数点后的数字位数 - BooleanField
·True/False 字段,此字段的默认表单控制是CheckboxInput - FloatField
·用Python的float实例来表示的浮点数 - 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
需要安装Pillow:“pip install Pillow”
二、常用字段参数
1.
三、models基本操作
四、多模块关联关系
五、model连表结构
1、一对多关联
2、多对多关联
3、一对一关联
附录
1、配置Mysql
总结
23/09/26 - 未完结