- 2024-06-03【DRF-09】rest-framework之序列化(序列化)
1.序列化用于对用户请求数据进行验证和数据进行序列化,本篇文章主要讲解序列化部分。1.1:序列化的意义:web有两种应用模式,一种是前后端不分离,一种是前后端分离,当前后端分离的时候,后端只需要向前端传输数据即可,不需要进行其他的操作,而restframework在前后端传输数据时,主要是jso
- 2024-04-22DRF之序列化组件
【二】序列化组件【1】序列化与反序列化的概念序列化(Serialization):将对象转换为可传输或可存储的格式的过程。在序列化过程中,对象的属性和数据被转换为一个字节流或字符串,以便在网络上传输或保存到文件中。常见的序列化格式包括JSON、XML、ProtocolBuffers等。序列化后的数
- 2024-04-13drf中常用的字段及用法
【序列化常见字段】 其实就是嵌套,字典中对象嵌套字典,就用DictField,对象套列表用ListField【序列化常见字段参数】validators :该字段使用的验证器--》字段自己的校验[1max_lenght2validators],局部钩子,全局钩子 name=serializer.CharField(validators=[valida_na
- 2024-04-02django-haystack,具有全文搜索功能的 Python 库!
目录前言安装与配置全文搜索基础搜索引擎配置索引配置搜索视图与模板过滤器与排序自定义搜索逻辑应用场景 1.电子商务网站的商品搜索 2.新闻网站的文章搜索 3.社交网站的用户搜索 4.企业内部系统的文档搜索总结前言大家好,今天为大家分享一个非常实用
- 2024-03-13模型定义
要求:学生根据兴趣选择不同的兴趣班,其中学生和班级是多对多的关系。1、完成学生和班级的模型定义2、提交代码截图。解答:`fromdjango.contrib.auth.modelsimportUserfromdjango.dbimportmodels--coding:utf-8--Author:LilaCreateyourmodelshere.classClazz(
- 2023-12-27后端技术:基于角色的访问控制(RBAC)系统的快速理解
参考文章:RBAC权限系统分析、设计与实现:https://cloud.tencent.com/developer/article/1802329基于角色的访问控制(RBAC)系统的快速理解rbac系统的基本理解:在RBAC系统中,通常涉及角色(Role)、用户(User)和权限(Access)等概念。下面是对每个模型的解释:在RBAC模型里面,有3个基础组成部
- 2023-12-21dfr之序列化常用字段、soruce、定制返回字段、多表关联反序列化、ModelSerializer的使用
一、序列化类常用字段#除了CharField以外,还要很多别的---》表模型中models.CharField--->基本一一对应#如果跟表模型中对不上:你统一用CharField#重要:(后面说)ListFieldDictField字段字段构造方式BooleanFieldBooleanField()NullBooleanFieldNullB
- 2023-11-29多表操作之模型创建
1图书表:book,作者表:author,作者详情表:authordetail,出版社表:publish,(第三张中间表)2作者跟作者详情:是一对一,关联字段写在哪一方都可以3图书跟出版社:是一对多,一对多关系一旦确立,关联字段写在多的一方4图书和作者:是多对多,多对多的关系需要建立第三张表(可以自动生成)5models.py中
- 2023-11-22Django 修改默认外键关联到其他字段
默认值关联classOrg(models.Model):"""组织架构"""name=models.CharField("组织机构名称",max_length=100,default='')pid=models.ForeignKey('self',verbose_name="上级",on_dele
- 2023-11-10Django3
数据的增删改查如何创建表关系Django框架的请求生命周期流程图路由曾无名分组有名分组——————————————————————————————————————————————————————————————————————————————————————
- 2023-10-30用migrate将映像数据写入数据库常见问题01
django开发时,models.py文件创建正常,makemigrations也正常,但migrate却提示没有需要迁移的数据,查看sqlite数据库也没有建立相应的数据表。相关文件#coding:utf-8#file-name:models.pyfromdjango.dbimportmodelsclassDepartment(models.Model): '''部门表''' title=mode
- 2023-10-30订单管理
表结构设计编辑myproject/app01/models.pyclassOrder(models.Model):"""订单"""oid=models.CharField(verbose_name="订单号",max_length=64)title=models.CharField(verbose_name="名称",max_length=32)p
- 2023-08-06ORM 字段和参数
一、ORM字段1、常用字段AutoFieldint自增列,必须填入参数primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。 IntegerField一个整数类型,范围在-2147483648to2147483647。 CharField字符类型,必须提供max_length参数,max_length表示字符长度。
- 2023-07-30- 通过结合前端页面实现ORM对数据的增删改查 - Django中如何创建表关系 - 一对一 - 一对多 - 多对多 - Django框架的请求生命周期流程图 - 路由层urls.py -
通过结合前端页面实现ORM对数据的增删改查案例:写一个页面,就是把数据库中的数据以表格的形式展示出来,然后在每一行的后面加两个按钮,分别是修改、删除的按钮1.首先在数据库创建一个表格1.在model.py中创建表格 2.pythonmanage.pymakemigratins迁移记录 3.
- 2023-07-29Django Form源码分析(2)
1前置知识点1.1render函数 可以看到render函数先拿到模板,再进行模板渲染那么form函数是如何自动生成表单里的input标签呢,应该是在form里已经渲染好一遍生成了input标签放进了{"form":form}的集合render函数再进行渲染2Form函数2.1Form源码分析2.1.1Form初始化
- 2023-07-25models数据库创建
fromdjango.dbimportmodels#Createyourmodelshere.classUserInfo(models.Model):name=models.CharField(verbose_name="姓名",max_length=20)pwd=models.CharField(verbose_name="密码",max_length=20)phone=models.CharField(verbose_na
- 2023-07-11django python manage.py migrate 后报错字段长度超了 django.db.utils.OperationalError: (1118 'Row size to
现象:在models.py将CharField字段的maxlength=修改后,执行ythonmanage.pymigrate 报错django.db.utils.OperationalError:(1118 'Rowsizetoolarge.Themaximumrowsizefortheusedtabletype,notcountingBLOBs,is65535.Thisincludes storageoverhead,c
- 2023-07-06序列化的高级用法之source
一、可以取别名book_name=serializers.CharField(source='name')book_name为前端可以看到的字段值,name是对象真实的属性。注意:别名和真实属性不能相同二、可以跨表关联查询publish_name=serializers.CharField(source='publish.name')必须有关联关系,book模型和publis
- 2023-05-18drf——序列化之source(了解)、定制字段的两种方式(重要)、多表关联反序列化保存、反序列化字段校验、ModelSerializer使用
1序列化高级用法之source(了解)#1.创建了5个表(图书管理的5个)#2.对book进行序列化#总结:source的用法 1.修改前端看到的字段key值--->source指定的必须是对象的属性 book_name=serialiazers.CharField(source='name')2.修改前端看到的value值--->source指
- 2023-05-11序列化器的序列化与反序列化
目录一、序列化器介绍和快速使用(重点)1.1序列化类基本使用,序列化多条(使用方式类似forms组件)1.2序列化单条二、反序列化(重点)2.1反序列化的新增2.2反序列化的修改2.3删除单条三、完整的代码四、反序列化的校验五、序列化类常用字段和字段参数(了解)5.1常用字段类5.2常用字段
- 2023-05-05【2】Django项目-人力资源管理系统-设计表结构
Django项目-人力资源管理系统-设计表结构一、在models.py中编写表结构创建两张表:部门表和用户信息表fromdjango.dbimportmodels#Createyourmodelshere.classDepartment(models.Model):'''部门表'''dp_name=models.CharField(max_length=32,verbo
- 2023-04-21drf之定制返回样式SerializerMethodField与在表模型中定制
SerializerMethodField定制返回的样式为person:{name:xxx,age:xxx}或person:[{name:xxx,age:xxx},{name:yyy,age:yyy}...]等,就可以使用到SerializerMethodField语法在序列化类中进行定义序列化字段名=serializers.SerializerMethodField()defget_序列化字段名(self
- 2023-04-06Django之models
常用字段and非常用字段autofieldint自增列,必须填入参数primary_key=True。当model中如果没有自增列,则自动会创建一个列名为id的列。但是这个基本咋没用过,建表也都是使用的默认idIntegerField一个整数类型,范围在-2147483648to2147483647CharField这个最常用,啥都能用他,
- 2023-03-21Django笔记四之字段属性
这篇笔记介绍的fieldoptions,也就是字段的选项属性。首先,关于model,是数据库与python代码里的一个映射关系,每一个model是django.db.models.Model的一个子类。mode
- 2023-03-16【项目实战】基于Python+Django+MySQL的自行车租赁系统(附完整源码)
1、项目说明基于python+Django+Mysql的自行车租赁系统项目实战项目需要安装pycharm专业版以及MySQL环境(环境搭建和破解可以看我的B站里的视频有讲解)首先需要创建数据