Files
pear-admin-flask/entrance/extend/orm.py
T
2022-01-23 00:42:32 +08:00

44 lines
1.1 KiB
Python

import datetime
from typing import Tuple
from flask import request
from flask_sqlalchemy import SQLAlchemy, BaseQuery
class Query(BaseQuery):
def all_json(self) -> list:
print(self)
return [dict(i) for i in self.all()]
def soft_delete(self):
return self.update({"delete_at": datetime.datetime.now()})
def logic_all(self):
return self.filter_by(delete_at=None).all()
def layui_paginate(self):
"""
layui表格分页
page
limit
"""
return self.paginate(page=request.args.get('page', type=int),
per_page=request.args.get('limit', type=int),
error_out=False)
def layui_paginate_json(self) -> Tuple[list, int]:
"""
layui表格分页
page
limit
"""
p = self.paginate(page=request.args.get('page', type=int),
per_page=request.args.get('limit', type=int),
error_out=False)
return [dict(i) for i in p.items], p.total
db = SQLAlchemy(query_class=Query)