‘‘‘
模型字段:
django内置了许多字段类型,它们都位于django.db.models中。还可以自定义字段
Autofield 自增字段
BooleanField 布尔值 html表现为CheckboxInput标签
CharField 字符串字段 必须参数:max_length
DateField 日期类型 html表现为TextInput标签 重要参数:auto_now被保存时设置(可修改) auto_now_add被创建时设置(不可修改)
EmailField 邮件类型 (django自带邮箱验证功能)
filefield 上传文件类型
ImageField 图像类型
IntegerFielf 整数类型
Textfield 长文本类型
URLField 网址url字符串类型()
关系类型字段:
1、多对一(ForeignKey(‘关联的模型‘,on_delete=models{cascade,}))两个重要(同时也是必须)参数,
关联的模型(表)(这个参数必须在第一个位置)以及on_delete=xxx:
外键要定义在多的一方,比如一个作者有多个文章那么,文章就是多作者就是一,这个ForeignKey出现在文章表中。就是这个表中的某个数据属于另一个表中的某个数据
外键参数如果出现在另一个app中则需要指定app.(表名)
当然,也可以自己关联自己,例如评论模型。自己调用自己外键字段当然就是‘self’了
on_delete=xxx:
CASCADE:模拟SQL语言中的ON DELETE CASCADE约束,将定义有外键的模型对象同时删除!(该操作为当前Django版本的默认操作!)
PROTECT:阻止上面的删除操作,但是弹出ProtectedError异常
SET_NULL:将外键字段设为null,只有当字段设置了null=True时,方可使用该值。
SET_DEFAULT:将外键字段设为默认值。只有当字段设置了default参数时,方可使用。
DO_NOTHING:什么也不做。
SET():设置为一个传递给SET()的值或者一个回调函数的返回值。注意大小写。
通用字段类型参数:
null=True 可以为空
defalut=‘11’ 设置默认值
db_index=True 未知
unique=True 字段唯一不可重复
max_length=‘xxx‘ 字符长度
primary_Key=True 设置主键(表中主键唯一存在)
verbose_name 后台显示的字段名称(也可以称之为备注)
blank=True 是否允许输入为空
editable=True 是否可以在admin中编辑
help_text=‘xxx‘ 后台amdin的字段提示信息
choices={} admin中显示选择框的内容gf=models.CharField(choices=[(0,‘樱井良‘),(1,‘苍井空’)] ,default=0) 通常配合default一起食用
error_message={} 自定义错误信息(当用户输入时的返回信息),如error_message={‘null‘:‘不能为空‘}
‘‘‘
class Learn(models.Model):
lean_auto=models.AutoField() #AutoField 自增字段 作为主键(唯一) 通常不需要 django会自动生成一个字段id=models.AutoField(primary_Key=True)。也可以子自己设定但必须设置参数primary_Key=True.
learn_bool=models.BooleanField() #布尔值类型。默认值为None(非零即真也就是默认为假)。在html中表现为一个CheckboxInput标签
learn_char=models.CharField(max_length=30) #字符串类型。最常用字段,必须接受一个max_length=128参数
django-models_模型相关1
Posted lpython
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django-models_模型相关1相关的知识,希望对你有一定的参考价值。
以上是关于django-models_模型相关1的主要内容,如果未能解决你的问题,请参考以下文章