问题:由于用户多次点击按钮,导致增加数据时多次添加
解决:前端增加事件失效功能,后端增加锁机制
方法:
以下方法未试验过
1、代码锁(给代码的执行上锁,仅对单端口多进程有效,用户需等待前一请求处理结束)
import lock
lock.acquire()
你的业务逻辑
lock.release()
问题:由于用户多次点击按钮,导致增加数据时多次添加
解决:前端增加事件失效功能,后端增加锁机制
方法:
以下方法未试验过
1、代码锁(给代码的执行上锁,仅对单端口多进程有效,用户需等待前一请求处理结束)
import lock
lock.acquire()
你的业务逻辑
lock.release()
问题:sqlalchemy如何对同一张表查询两次?
解决:使用sqlalchemy.orm模块中的aliased
方法:
from sqlalchemy.orm import aliased
ToUser = aliased(User)
self.db.query(
User.id, User.username, ToUser.id.label('to_user'), ToUser.username.label('to_username'),
Reply.body, Reply.create_time).filter(Reply.to_user == ToUser.id, Reply.create_id == User.id
).all()
问题:如何查询mysql数据表的注释?
方法:
SELECT COLUMN_NAME, column_comment FROM INFORMATION_SCHEMA.Columns WHERE
table_name='users' AND table_schema='dongman';
拓展:
/* 查询数据库 ‘dongman’ 所有表注释 */
SELECT TABLE_NAME,TABLE_COMMENT FROM information_schema.TABLES WHERE table_schema='dongman';
问题:sqlalchemy对应的select as是什么?
方法:
from sqlalchemy import literal
self.db.query(
User.name.label('username'), Grade.name.label('grade_name'),
literal('天鸿小学').label('school_name')).filter(User.grade_id == Grade.id).all()