参考:https://www.cnblogs.com/haoshine/p/5821939.html
字段名 | 参数 | 含义 |
---|---|---|
AutoField | 一个能够根据可用ID自增的 IntegerField,一般会自动创建 | |
BooleanField | 一个真/假字段 | |
CharField | (max_length) | 一个字符串字段,适用于中小长度的字符串 |
CommaSeparatedIntegerField | (max_length) | 一个用逗号分隔开的整数字段 |
DateField | ([auto_now], [auto_now_add]) | 日期字段 |
DateTimeField | 时间日期字段,接受跟 DateField 一样的额外选项 | |
EmailField | 一个能检查值是否是有效的电子邮件地址的 CharField | |
FileField | (upload_to) | 一个文件上传字段 |
FilePathField | (path,[match],[recursive]) | 一个拥有若干可选项的字段,选项被限定为文件系统中某个目录下的文件名 |
FloatField | (max_digits,decimal_places) | 一个浮点数,对应Python中的 float 实例 |
ImageField | (upload_to, [height_field] ,[width_field]) | 像 FileField 一样,只不过要验证上传的对象是一个有效的图片 |
IntegerField | 一个整数 | |
IPAddressField | 一个IP地址,以字符串格式表示 | |
NullBooleanField | 就像一个 BooleanField ,支持 None /Null | |
PhoneNumberField | 和 IntegerField 类似,但必须是正值 | |
PositiveSmallIntegerField | 与 PositiveIntegerField 类似,但只允许小于一定值的值,最大值取决于数据库. | |
SlugField | 嵌条 就是一段内容的简短标签,这段内容只能包含字母、数字、下划线或连字符。通常用于URL中 | |
SmallIntegerField | 和 IntegerField 类似,但是只允许在一个数据库相关的范围内的数值(通常是-32,768到+32,767) | |
TextField | 一个不限长度的文字字段 | |
TimeField | 时分秒的时间显示。它接受的可指定参数与 DateField 和 DateTimeField 相同 | |
URLField | 用来存储URL的字段 | |
USStateField | 美国州名称缩写,两个字母 | |
XMLField | (schema_path) | 它就是一个 TextField ,只不过要检查值是匹配指定schema的合法XML |
参数名 | 意义 |
---|---|
null | 如果设置为 True 的话,Django将在数据库中存储空值为 NULL 。默认为 False |
blank | 如果是 True ,该字段允许留空,默认为 False |
choices | 一个包含双元素元组的可迭代的对象,用于给字段提供选项 |
db_column | 当前字段在数据库中对应的列的名字 |
db_index | 如果为 True ,Django会在创建表格时对这一列创建数据库索引 |
default | 字段的默认值 |
editable | 如果为 False ,这个字段在管理界面或表单里将不能编辑。默认为 True |
help_text | 在管理界面表单对象里显示在字段下面的额外帮助文本 |
primary_key | 如果为 True ,这个字段就会成为模型的主键 |
radio_admin | 默认地,对于 ForeignKey 或者拥有 choices 设置的字段,Django管理界面会使用列表选择框()。如果 radio_admin 设置为 True 的话,Django就会使用单选按钮界面 |
unique | 如果是 True ,这个字段的值在整个表中必须是唯一的 |
unique_for_date | 把它的值设成一个 DataField 或者 DateTimeField 的字段的名称,可以确保字段在这个日期内不会出现重复值 |
unique_for_month | 和 unique_for_date 类似,只是要求字段在指定字段的月份内唯一 |
unique_for_year | 和 unique_for_date 及 unique_for_month 类似,只是时间范围变成了一年 |
verbose_name | 除 ForeignKey 、 ManyToManyField 和 OneToOneField 之外的字段都接受一个详细名称作为第一个位置参数 |
ForeignKey(to,on_delete,**options)
CASCADE
CASCADE,级联删除,它是大部分 ForeignKey 的定义时选择的约束。它的表现是删除了“主”,则“子”也会被自动删除。
OneToOneFiled 继承自 ForeignKey, ForeignKey 最显著的区别在于反向查询上,ForeignKey 反向查询返回的是一个对象实例列表,而 OneToOneFiled 反向查询返回的是一个对象实例,经常用于对已有 Model 的扩展。
ManyToManyFiled(to,**options)
参考:http://c.biancheng.net/view/7645.html
6.: 。 例:)
7. : 。 例:filter(job__lt=5)
8. : 。 例:filter(job__lte=5)
9. : 。 例:filter(job__in=[1,2,3])
10. :。 例:filter(job__startswith=‘开发’)
11. :。 filter(job__istartswith=‘开发’)
12. : 。 filter(job__endswith=‘开发’)
13. : 。 filter(job__iendswith=‘开发’)
14. : 。 filter(job__range=‘开发’)
15. : 。 filter(job__year=‘2018’)
16.: 。 filter(job__month=‘12’)
17. : 。 例:filter(job__day=30)
18. : 。 例:filter(job__isnull=True/False)
名称 | 含义 | 用法 |
---|---|---|
__exact | 精确等于,如SQL的like’开发’ | filter(user__exact=‘小明’) |
__iexact | 精确等于并忽略大小写 | filter(user__iexact=‘小明’) |
__contains | 模糊匹配,如SQL的like’%123%’ | filter(use__contains =‘小明’) |
__icontains | 模糊匹配,忽略大小写 | filter(user__icontains=‘小明’) |
__gt | 大于 | filter(age__gt =5) |
__gte | 大于等于 | filter(age__gte =5) |
__lt | 小于 | filter(age__lt =5) |
__lte | 小于等于 | filter(age__lte =5) |
__in | 判断是否在列表内 | filter(user__in=‘小明’) |
__startswith | 以…开头 | filter(user__startswith=‘小’) |
__istartswith | 以…开头并忽略大小写 | filter(user__istartswith=‘小明’) |
__endswith | 以…结尾 | filter(user__endswith=‘明’) |
__iendswith | 以…结尾并忽略大小写 | filter(user__iendswith=‘明’) |
__range | 在…范围内 | filter(user__range=‘小明’) |
__year | 日期字段的年份 | filter(user__year=‘2022’) |
__month | 日期字段的月份 | filter(user__month=‘09’) |
__day | 日期字段的天数 | filter(user__day=17) |
__isnull | 判断是否为空 | filter(email__isnull=True) |