百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

Django模型(Django模型字段加密解密您的数据并加密保存至数据库中)

toyiye 2024-04-04 11:41 47 浏览 0 评论

1、概述

  • django会为表增加自动增长的主键列,每个模型只能有一个主键列,如果使用选项设置某属性为主键列后,则django不会在生产默认的主键列。
  • 属性命名限制
    • 遵循标志符规则
    • 由于django的查询方式,不允许使用连续的下划线

2、库

  • 定义属性时,需要字段类型,字段类型被定义在django.db.models.fields目录下,为了方便使用,被导入到django.db.models中
  • 使用方式
    • 导入from django.db import models
    • 通过models.Field创建字段类型的对象,赋值给属性

3、逻辑删除

  • 对于重要数据都做逻辑删除,不做物理删除,实现方法是定义isDelete属性,类型为BooleanField,默认值为False

模型查询

概述

  • 查询集表示从数据库获取的对象集合
  • 查询集可以有多个过滤器
  • 过滤器就是一个函数,基于所给的参数限制查询集结果
  • 从sql角度来说,查询集合select语句等价,过滤器就像where条件

查询集

  • 在管理器上调用过滤器方法返回查询集
  • 查询集经过过滤器返回新的查询集,所以可以写成链式调用
  • 惰性执行
    • 创建查询集不会带来任何数据库的访问,直到调用数据时,才会访问数据
  • 直接访问数据的情况
  • 迭代
  • 系列化
  • 与if合用
  • 返回查询集的方法称为过滤器
  • all()
  • filter()返回符合条件的数据filter(键=值)filter(键=值,键=值)filter(键=值).filter(键=值)
  • exclude()过滤掉符合条件的数据
  • order_by()排序
  • values()一条数据就是一个对象(字典),返回一个列表
  • 返回单个数据
    • get()返回一个满足条件的对象注意:如果没有找到符合条件的对象,会引发“模型类.DoesNotExist”异常注意:如果找到多个对象,会引发“模型类.MultipleObjectsReturned”异常
    • count()返回查询集中的对象个数
    • first()返回查询集中的第一个对象
    • last()返回查询集中的第一个对象
    • exists()判断查询集中是否有数据,如果有数据返回True
  • 限制查询集
    • 查询集返回列表,可以使用下标的方法进行限制,等同于select 中limit语句
    • students = Student.objects.all()[0:5]
    • 注意:下标不能是负数
  • 查询集的缓存
    • 概述每个查询集都包含一个缓存,来最小化的对数据库访问在新建的查询集中,缓存首次为空,第一次对查询集求值,会发生数据缓存,Django会将查询出来的数据做一个缓存,并返回查询结果,以后的查询直接使用查询集的缓存
  • 字段查询
    • 概述实现了sql中的where语句,作为方法filter()、exclude()、get()的参数语法 属性名称__比较运算符=值外键 属性名_id转义 like语句中使用%时为了匹配站位
    • 比较运算符exact 判断,大小写敏感filter(isDelete=False)contains 是否包含,大小写敏感students=Student.objects.filter(sname__contains="孙")startswith、endswith 以value开头或者结尾,大小写敏感students=Student.objects.filter(sname__startswith="孙")以上四个前面加上i,就表示不区分大小写 iexact,icoantains,istartswith,iendswithisnull、isnonull 是否为空in 是否包含在范围内gt 大于, gte 大于等于,lt 小于,lte 小于等于year 、month 、day 、week_day 、hour 、minute 、second跨关联查询处理join查询 语法:模型类名__属性名__比较运算符查询快捷 --> pk 代表的主键
    • 聚合函数使用aggregate()的函数,返回聚合函数的值Avg 平均值,Count,Max,Min,Sum
    • F对象可以使用模型的A属性与B属性进行比较from django.db.models import F,Qfilter(girlnum__gt=F("boynum"))支持F对象的算术,先运算在比较filter(girlnum__gt=F("boynum")+20)
    • Q对象过滤器的方法中的关键字参数,条件为And模式进行or查询from django.db.models import F,Qfilter(Q(pk__lte=3) | Q(sage__gt=50))

相关推荐

为何越来越多的编程语言使用JSON(为什么编程)

JSON是JavascriptObjectNotation的缩写,意思是Javascript对象表示法,是一种易于人类阅读和对编程友好的文本数据传递方法,是JavaScript语言规范定义的一个子...

何时在数据库中使用 JSON(数据库用json格式存储)

在本文中,您将了解何时应考虑将JSON数据类型添加到表中以及何时应避免使用它们。每天?分享?最新?软件?开发?,Devops,敏捷?,测试?以及?项目?管理?最新?,最热门?的?文章?,每天?花?...

MySQL 从零开始:05 数据类型(mysql数据类型有哪些,并举例)

前面的讲解中已经接触到了表的创建,表的创建是对字段的声明,比如:上述语句声明了字段的名称、类型、所占空间、默认值和是否可以为空等信息。其中的int、varchar、char和decimal都...

JSON对象花样进阶(json格式对象)

一、引言在现代Web开发中,JSON(JavaScriptObjectNotation)已经成为数据交换的标准格式。无论是从前端向后端发送数据,还是从后端接收数据,JSON都是不可或缺的一部分。...

深入理解 JSON 和 Form-data(json和formdata提交区别)

在讨论现代网络开发与API设计的语境下,理解客户端和服务器间如何有效且可靠地交换数据变得尤为关键。这里,特别值得关注的是两种主流数据格式:...

JSON 语法(json 语法 priority)

JSON语法是JavaScript语法的子集。JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JS...

JSON语法详解(json的语法规则)

JSON语法规则JSON语法是JavaScript对象表示法语法的子集。数据在名称/值对中数据由逗号分隔大括号保存对象中括号保存数组注意:json的key是字符串,且必须是双引号,不能是单引号...

MySQL JSON数据类型操作(mysql的json)

概述mysql自5.7.8版本开始,就支持了json结构的数据存储和查询,这表明了mysql也在不断的学习和增加nosql数据库的有点。但mysql毕竟是关系型数据库,在处理json这种非结构化的数据...

JSON的数据模式(json数据格式示例)

像XML模式一样,JSON数据格式也有Schema,这是一个基于JSON格式的规范。JSON模式也以JSON格式编写。它用于验证JSON数据。JSON模式示例以下代码显示了基本的JSON模式。{"...

前端学习——JSON格式详解(后端json格式)

JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScriptProgrammingLa...

什么是 JSON:详解 JSON 及其优势(什么叫json)

现在程序员还有谁不知道JSON吗?无论对于前端还是后端,JSON都是一种常见的数据格式。那么JSON到底是什么呢?JSON的定义...

PostgreSQL JSON 类型:处理结构化数据

PostgreSQL提供JSON类型,以存储结构化数据。JSON是一种开放的数据格式,可用于存储各种类型的值。什么是JSON类型?JSON类型表示JSON(JavaScriptO...

JavaScript:JSON、三种包装类(javascript 包)

JOSN:我们希望可以将一个对象在不同的语言中进行传递,以达到通信的目的,最佳方式就是将一个对象转换为字符串的形式JSON(JavaScriptObjectNotation)-JS的对象表示法...

Python数据分析 只要1分钟 教你玩转JSON 全程干货

Json简介:Json,全名JavaScriptObjectNotation,JSON(JavaScriptObjectNotation(记号、标记))是一种轻量级的数据交换格式。它基于J...

比较一下JSON与XML两种数据格式?(json和xml哪个好)

JSON(JavaScriptObjectNotation)和XML(eXtensibleMarkupLanguage)是在日常开发中比较常用的两种数据格式,它们主要的作用就是用来进行数据的传...

取消回复欢迎 发表评论:

请填写验证码