feat(kinit-api):core.crud.DalBase.get_data方法增加v_order_field参数
This commit is contained in:
parent
63ee93a94b
commit
ca020a455c
@ -49,6 +49,7 @@ class DalBase:
|
|||||||
v_join_query: dict = None,
|
v_join_query: dict = None,
|
||||||
v_or: List[tuple] = None,
|
v_or: List[tuple] = None,
|
||||||
v_order: str = None,
|
v_order: str = None,
|
||||||
|
v_order_field: str = None,
|
||||||
v_return_none: bool = False,
|
v_return_none: bool = False,
|
||||||
v_schema: Any = None,
|
v_schema: Any = None,
|
||||||
**kwargs
|
**kwargs
|
||||||
@ -61,6 +62,7 @@ class DalBase:
|
|||||||
:param v_join_query: 外键字段查询,内连接
|
:param v_join_query: 外键字段查询,内连接
|
||||||
:param v_or: 或逻辑查询
|
:param v_or: 或逻辑查询
|
||||||
:param v_order: 排序,默认正序,为 desc 是倒叙
|
:param v_order: 排序,默认正序,为 desc 是倒叙
|
||||||
|
:param v_order_field: 排序字段
|
||||||
:param v_return_none: 是否返回空 None,否认 抛出异常,默认抛出异常
|
:param v_return_none: 是否返回空 None,否认 抛出异常,默认抛出异常
|
||||||
:param v_schema: 指定使用的序列化对象
|
:param v_schema: 指定使用的序列化对象
|
||||||
:param kwargs: 查询参数
|
:param kwargs: 查询参数
|
||||||
@ -69,7 +71,11 @@ class DalBase:
|
|||||||
if data_id:
|
if data_id:
|
||||||
sql = sql.where(self.model.id == data_id)
|
sql = sql.where(self.model.id == data_id)
|
||||||
sql = self.add_filter_condition(sql, v_options, v_join_query, v_or, **kwargs)
|
sql = self.add_filter_condition(sql, v_options, v_join_query, v_or, **kwargs)
|
||||||
if v_order and (v_order in self.ORDER_FIELD):
|
if v_order_field and (v_order in self.ORDER_FIELD):
|
||||||
|
sql = sql.order_by(getattr(self.model, v_order_field).desc(), self.model.id.desc())
|
||||||
|
elif v_order_field:
|
||||||
|
sql = sql.order_by(getattr(self.model, v_order_field), self.model.id)
|
||||||
|
elif v_order and (v_order in self.ORDER_FIELD):
|
||||||
sql = sql.order_by(self.model.create_datetime.desc())
|
sql = sql.order_by(self.model.create_datetime.desc())
|
||||||
queryset = await self.db.execute(sql)
|
queryset = await self.db.execute(sql)
|
||||||
data = queryset.scalars().unique().first()
|
data = queryset.scalars().unique().first()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user