随笔分类 - Django框架
摘要:django安全下载文件 现实情况中,我们不能随意的让用户下载文件,要做一些保护措施,例如加密或设置过期时间等等。我们可以利用django自带的加密方法来实现对文件的下载进行安全限制 我们的app一般分user-portal和operation-portal,那我们需要实现两个端的下载文件的接口 示
阅读全文
摘要:Django Meta中proxy、abstract、managed使用方法 proxy 使用 多表继承 时,每个子类模型都会创建一张新表。这一般是期望的行为,因为子类需要一个地方存储基类中不存在的额外数据字段。不过,有时候你只想修改模型的 Python 级行为——可能是修改默认管理器,或添加一个方
阅读全文
摘要:Django数据库函数使用 通用方法 from django.db.models.functions import Cast, Coalesce, Concat, ConcatPair, Greatest # Cast,类型转换 q1 = TradeDetail.objects.values("pr
阅读全文
摘要:Django条件查询When、Case 这一篇笔记将介绍条件表达式,就是如何在 model 的使用中根据不同的条件筛选数据返回。 这个操作类似于数据库中 if elif else 的逻辑。 以下是本篇笔记的目录: model 和数据准备 When 和 Case 操作新增字段返回 条件搜索 条件更新
阅读全文
摘要:F查询 使用 F() 避免竞争条件 F() 可以通过以下方式提供性能优势: 让数据库,而不是 Python 来完成工作, 避免了 竞争条件 减少某些操作所需的查询次数 如果两个 Python 线程执行修改一个字段的值的代码,一个线程可以在另一个线程从数据库中获取一个字段的值后,检索、递增并保存它。第
阅读全文
摘要:在Django中使用内连接(子查询) Subquery() 模型类可能如下所示: class Category(models.Model): name = models.CharField(max_length=100) class Hero(models.Model): # ... name =
阅读全文
摘要:django在视图中获取Template 现在对Template进行深入了解 在试图中使用模板(了解) 视图代码: from django.http import HttpResponse import datetime def current_datetime(request): now = da
阅读全文
摘要:django聚合查询与分组查询 例题 聚合、分组查询 # 所有书的平均价格 avg_query = Book.objects.all().aggregate(Avg("price")) print(avg_query) # {'price__avg': Decimal('93.68888888888
阅读全文
摘要:Django出现RuntimeError: populate( ) isn't reentrant问题 问题描述 这个错误信息是一个笼统的错误信息,这里django把他真正的错误信息隐藏了。因此如果想得到真正的报错信息需要改源码,位置就在下方报错信息的"/Users/zonghan/PycharmP
阅读全文
摘要:django FileResponse下载文件 代码如下: from django.http import FileResponse def get(self, request, *args, **kwargs): file_path = /Users/zonghan/Desktop/1.txt r
阅读全文
摘要:查看字段历史数据django-field-history 我们的audit log 在数据库表 field_history_fieldhistory 中,具体信息包括: 谁,在什么时间,更改了哪个数据行记录,哪个字段,更改后的值, 等等 能查看一个数据库表字段的更改历史的前提是后端python代码中
阅读全文
摘要:添加唯一字段的迁移 应用向具有现有行的表添加唯一不可为空字段的“普通”迁移将引发错误,因为用于填充现有行的值仅生成一次,从而破坏了唯一约束。 因此,应采取以下步骤。UUIDField在此示例中,我们将添加一个具有默认值的不可为空值。根据您的需要修改相应的字段。 default=uuid.uuid4使
阅读全文
摘要:import itertools queryset_top = query.filter(is_top=True).order_by("-updated_at") queryset2 = query.filter(is_top=False).order_by("-created_at") query
阅读全文
摘要:django admin用法 基本使用 from django.contrib import admin from .models import * # Register your models here. @admin.register(Question) # Question是表 class Q
阅读全文
摘要:Django orm的managed参数 如果一张表不是在django的models.py中创建表,而是该表由cmd或者Navicat或者其他方式创建的,或者该表是一个视图,那么也可以在models.py里写上该表的参数,和数据库中的该表/视图做上映射关系,但是要指定managed=False(不创
阅读全文
摘要:Django中Manager用法 在管理器类中定义创建对象的方法 # 第一种 class create_user(models.Manager): def create(self, name, sex, age): u = self.model() # 创建模型类对象self.model可以获得模型
阅读全文
摘要:orm中的双重方法 update_or_create 更新或创建 Draw2DDevice.objects.update_or_create( defaults={'x': 777, 'y': 777,}, device_id=13, version_id=1) defaults是需要更新的数据字典
阅读全文
摘要:Django中信号的使用 信号种类及用法 Django中提供了"信号调度",用于在框架执行操作时解耦. 一些动作发生的时候,系统会根据信号定义的函数执行相应的操作 Django中内置的signal Model_signals pre_init # Django中的model对象执行其构造方法前,自动
阅读全文
摘要:支付宝支付 入门 """ 1)支付宝API:六大接口 https://docs.open.alipay.com/270/105900/ 2)支付宝工作流程(见下图): https://docs.open.alipay.com/270/105898/ 3)支付宝8次异步通知机制(支付宝对我们服务器发送
阅读全文
摘要:ORM中字段及外键字段的参数 1.ORM字段参数 #### null 用于表示某个字段可以为空。 #### **unique** 如果设置为unique=True 则该字段在此表中必须是唯一的 。 #### **db_index** 如果db_index=True 则代表着为此字段设置索引。 ###
阅读全文