feat(db): 优化表字段及其类型
This commit is contained in:
@@ -32,7 +32,7 @@ class CRUD:
|
||||
async def get_paginated(self, filters: dict, page: int = 1, page_size: int = 10) -> Tuple[List[Model], int]:
|
||||
async with self.session.begin():
|
||||
filter_conditions = self.build_filter_conditions(filters) if filters else []
|
||||
query = select(self.model).filter(*filter_conditions).order_by(desc(self.model.insert_time))
|
||||
query = select(self.model).filter(*filter_conditions).order_by(desc(self.model.created_at))
|
||||
|
||||
total_query = select(func.count()).select_from(self.model).filter(*filter_conditions)
|
||||
total_result = await self.session.execute(total_query)
|
||||
@@ -45,16 +45,10 @@ class CRUD:
|
||||
return records, total
|
||||
|
||||
async def get_grouped_count(self, group_by_field: str, filters: Dict[str, Any] = None) -> Dict[Any, int]:
|
||||
# 构建过滤条件
|
||||
filter_conditions = self.build_filter_conditions(filters) if filters else []
|
||||
|
||||
# 确定分组字段
|
||||
group_by = getattr(self.model, group_by_field)
|
||||
|
||||
# 构建查询
|
||||
query = select(group_by, func.count()).filter(*filter_conditions).group_by(group_by)
|
||||
|
||||
# 执行查询并获取结果
|
||||
async with self.session.begin():
|
||||
result = await self.session.execute(query)
|
||||
records = result.all()
|
||||
@@ -98,7 +92,7 @@ class CRUD:
|
||||
if any([
|
||||
value is None,
|
||||
value == getattr(record, key),
|
||||
key in ['insert_time', 'update_time']
|
||||
key in ['created_at', 'updated_at']
|
||||
]):
|
||||
continue
|
||||
setattr(record, key, value)
|
||||
|
||||
Reference in New Issue
Block a user