Django 教程:ORM 自定义字段和参数
1。模板中常用字段类型
字段类型
类型 | 描述 |
---|---|
AutoField | 自动递增的 IntegerField,通常不需要自动定义 Djang 属性,通常不需要自动定义 Djang 属性。给定的 ID。 |
BooleanField | 布尔字段,取值为True或False |
NullBooleanField | 支持三个值Null、True、False |
参数 max_length 表示最大字符数,对应mysql中的varchar。 | |
TextField | 大型文本字段,通常用于大型文本字段(超过4000种)。 IntegerField , numberdecimal_places 表示十进制数,常用于表示零件和价格 Decimal(max_yaoming=7,decimal_places=2) ==> 99999.99~ 0.00 |
FloatField | 浮点数 |
DateField ♼DateField _now 表示每当保存对象时,该字段都会自动设置为当前时间。 auto_now_add 参数表示在第一次创建对象时自动设置当前值。 auto_now_add 和 auto_now 参数不一样,一起使用会出错。 | |
TimeField | 时间,参数与DateField相同。 |
DateTimeField | 日期时间,参数与DateField相同。 |
FileField | 包含一个文件字段,Django在文件字段中内置了文件上传和存储类。 Django 可以使用模型的保存字段自动保存上传的文件。但是,只有项目中的文件才会存储在存档中。节省的方法! ! |
ImageField | 继承自FileField,并检查输入的内容以确保它是有效的图像。 |
EmailField | 字符串类型,与邮箱 |
2相关。约束选项
选项 | 描述 | |
---|---|---|
null | 如果为 True,则表示留空,默认值为 False。相当于python的None。 | |
空白 | 如果为 True,则该字段留空,默认值为 False。相当于Python的空字符串,“” | |
db_column | 字段的名称,如果没有指定,则为属性的名称。 | |
db_index | 如果该值为True,则会在表中为此字段创建索引。默认值为 false。相当于SQL语句中的key。 | |
default | 默认值,当没有完整数据时,该选项的值作为数据的默认值。 | |
primary_key | 如果为 True,则该字段将成为模型密钥。默认值为 false。一般情况下不需要安装。默认系统。 | |
unique | 如果为 True,则该字段在表中必须具有唯一值。默认值为 false。与 SQL 语句中的 single 相同。 | |
max_length | 最大字符长度 | |
verbose_name | 名称匹配、评论 | |
max_digits | p最大数字dec | 小数点最大位数 |
至 | 设置相关表 | |
to_field | 设置相关字段 | |
db_constraint | 或者创建外键约束,默认为True❀name名称请求字段,可以使用修改后的字段稍后命名,与 | |
相同on_delete | 删除相关表中的数据时,当前表及其相关行的动作 |
注:null是数据类别中的参数,blank是表单验证类别中的参数。
外键
设置访客密钥时,需要使用 on_delete 设置访客密钥时,需要使用 on_delete 删除选项外部数据,如何删除表d中的数据 jango .db.models 有可选常量: 返回 QuerySet 对象 ) 询问所有答案。 返回对象 返回布尔值 返回布尔值 如果有的话返回 True 数据。 返回数字 返回查询集 过滤器不能写入逻辑运算符。而是提供了一种特殊的方法来回答逻辑问题,那就是双线。 CharField 对应 MySQL 数据库中的 varchar 类型。 没有与 char 类型匹配的字段,但 Django 允许创建与数据库中的 char 类型匹配的新字段。 自定义字段在实际项目应用中可能会经常使用,因此您需要对其进行一些理解! ? 7。 ORM字段与MySQL字段的关系 在Django项目的settings.py文件中,将以下代码复制并粘贴到末尾。 确认后,执行任何在数据库中工作的语句时,Django的SQL语句都会自动输出到终端。 帮助:def func():
return 10
class MyModel(models.Model):
user = models.ForeignKey(
to = "User",
to_field = "id",
on_delete = models.SET(func)
)
3. 标准查询
def func():
return 10
class MyModel(models.Model):
user = models.ForeignKey(
to = "User",
to_field = "id",
on_delete = models.SET(func)
)
4. 双下划线
返回值 = models.User.objects.filter(字段__contains = '条件')
方法 函数 字段 __gt 大于字段 __lt 小于 字段 __gte 大于字段 __lt 小于 场 __gte ♿❿ 小于等于 字段__in 成员函数,在什么 字段__range 范围查询 字段__contains 敏感查询 不明确查询,忽略大小写 字段 __starts with 匹配开头 字段 __ends with 匹配结尾 字段 __regex 正则表达式 __year 过滤器 __year 年 田__月 月份过滤器 字段 __day 按天过滤数据 5. Django 中的自定义 char 类型
ORM ORM字段对应MySQL字段 8. Django终端打印SQL语句 如果你想了解 Django 如何执行 SQL里面的语句在使用数据库的时候,可以添加下面的Configuration来检查。 LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
'console':{
'level':'DEBUG',
'class':'logging.StreamHandler',
},
},
'loggers': {
'django.db.backends': {
'handlers': ['console'],
'propagate': True,
'level':'DEBUG',
},
}
}
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。