django 经验教训
pip install python-multipart
# filter单列、查询单列,正常values_list给出的结果是个列表,里边里边的每条数据对应一个元组,
当只查询一列时,可以使用flat标签去掉元组,将每条数据的结果以字符串的形式存储在列表中,
从而避免解析元组的麻烦
User.objects.values_list('username', flat=True)
正确方法:
from datetime import datetime
错误方法:
import datetime

事务处理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | from django.db import transaction 事务 买一本 跟jason学Linux 书 在数据库层面要做的事儿 1. 创建一条订单数据 2. 去产品表 将卖出数 + 1 , 库存数 - 1 from django.db.models import F 开启事务处理 try : with transaction.atomic(): 创建一条订单数据 models.Book.objects.create(num = "110110111" , product_id = 1 , count = 1 ) 能执行成功 models.Book.objects. filter ( id = 1 ).update(kucun = F( "kucun" ) - 1 , maichu = F( "maichu" ) + 1 ) except Exception as e: print (e) transaction.rollback() # 回滚 transaction.commit() # 提交 from django.db import transaction # 方式1:装饰器 @transaction .atomic # 方式2:with上下文 with transaction.atomic(): transaction.rollback() transaction.commit() |
# todo 清理过期权限数据
Usertolock.objects.filter(expired_time__lt=datetime.now()).delete()
常用错误提示及原因
1、如下提示实际上是:数据库没连接成功
1 2 | OSError: [WinError 123] 文件名、目录名或卷标语法不正确。: '<frozen importlib._bootstrap>' |
2、声明app
A、在setting.py中apps中声明
B、app名字目录下 apps.py文件中声明
1 2 3 4 5 | from django.apps import AppConfig class ApiConfig(AppConfig): default_auto_field = 'django.db.models.BigAutoField' name = 'api' |
3、有时pip install不成功时,可以要使用pip3 install
1 2 | pip install django-rest-swagger 不成功 pip3 install django-rest-swagger 成功 |
Token错误代码的捕捉
Python set集合做交集、并集、差集运算
集合最常做的操作就是进行交集、并集、差集以及对称差集运算,首先有必要给大家普及一下各个运算的含义。

图 1 集合示意图
图 1 中,有 2 个集合,分别为 set1={1,2,3} 和 set2={3,4,5},它们既有相同的元素,也有不同的元素。以这两个集合为例,分别做不同运算的结果如表 1 所示。
运算操作 | Python运算符 | 含义 | 例子 |
---|---|---|---|
交集 | & | 取两集合公共的元素 | >>> set1 & set2 {3} |
并集 | | | 取两集合全部的元素 | >>> set1 | set2 {1,2,3,4,5} |
差集 | - | 取一个集合中另一集合没有的元素 | >>> set1 - set2 {1,2} >>> set2 - set1 {4,5} |
对称差集 | ^ | 取集合 A 和 B 中不属于 A&B 的元素 | >>> set1 ^ set2 {1,2,4,5} |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix