https://www.bilibili.com/video/av57516522/?p=13
概述
库
逻辑删除
- 对于重要数据都做逻辑删除,不做物理删除,实现方法是定义isDelete属性,类型为BooleanField,默认值为False
字段类型
- AutoField
- 一个根据实际ID自动增长的IntegerField,通常不指定如果不指定,一个主键字段将自动添加到模型中
- CharField(max_length=字符长度)
- TextField
- 大文本字段,一般超过4000使用,默认的表单控件是Textarea
- IntegerField
- DecimalField(max_digits=None, decimal_places=None)
- 使用python的Decimal实例表示的十进制浮点数
- 参数说明
- DecimalField.max_digits
- DecimalField.decimal_places
- FloatField
- BooleanField
- true/false 字段,此字段的默认表单控制是CheckboxInput
- NullBooleanField
- DateField[auto_now=False, auto_now_add=False])
- 使用Python的datetime.date实例表示的日期
- 参数说明
- DateField.auto_now
- 每次保存对象时,自动设置该字段为当前时间,用于"最后一次修改"的时间戳,它总是使用当前日期,默认为false
- DateField.auto_now_add
- 当对象第一次被创建时自动设置当前时间,用于创建的时间戳,它总是使用当前日期,默认为false
- 说明
- 该字段默认对应的表单控件是一个TextInput. 在管理员站点添加了一个JavaScript写的日历控件,和一个“Today"的快捷按钮,包含了一个额外的invalid_date错误消息键
- 注意
- auto_now_add, auto_now, and default 这些设置是相互排斥的,他们之间的任何组合将会发生错误的结果
- TimeField
- 使用Python的datetime.time实例表示的时间,参数同DateField
- DateTimeField
- 使用Python的datetime.datetime实例表示的日期和时间,参数同DateField
- FileField
- ImageField
- 继承了FileField的所有属性和方法,但对上传的对象进行校验,确保它是个有效的image
字段选项
- 概述
- 通过字段选项,可以实现对字段的约束
- 在字段对象时通过关键字参数指定
- null
- 如果为True,Django 将空值以NULL 存储到数据库中,默认值是 False
- blanke
- 如果为True,则该字段允许为空白,默认值是 False
- 注意
- null是数据库范畴的概念,blank是表单验证证范畴的
- db_column
- db_index
- default
- primary_key
- unique
关系
- 分类
- ForeignKey:一对多,将字段定义在多的端中
- ManyToManyField:多对多,将字段定义在两端中
- OneToOneField:一对一,将字段定义在任意一端中
- 用一访问多
- 用一访问一
- 访问id
Django-定义属性
原文:https://www.cnblogs.com/yihutu/p/11951699.html