lesscode-py 0.3.121__tar.gz → 0.3.123__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/PKG-INFO +1 -1
  2. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/generic/generic_pool.py +13 -1
  3. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/sqlalchemy/sqlachemy_model_service.py +82 -87
  4. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/version.py +1 -1
  5. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode_py.egg-info/PKG-INFO +1 -1
  6. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/README.md +0 -0
  7. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/__init__.py +0 -0
  8. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/__init__.py +0 -0
  9. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/base_connection_pool.py +0 -0
  10. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/base_sql_helper.py +0 -0
  11. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/condition_wrapper.py +0 -0
  12. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/connection_info.py +0 -0
  13. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/db_function.py +0 -0
  14. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/dm/__init__.py +0 -0
  15. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/dm/dm_helper.py +0 -0
  16. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/dm/dm_pool.py +0 -0
  17. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/ds_helper.py +0 -0
  18. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/elasticsearch/__init__.py +0 -0
  19. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/elasticsearch/elasticsearch_helper.py +0 -0
  20. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/elasticsearch/elasticsearch_pool.py +0 -0
  21. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/es/__init__.py +0 -0
  22. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/es/es_helper.py +0 -0
  23. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/es/es_pool.py +0 -0
  24. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/es/es_request.py +0 -0
  25. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/generic/__init__.py +0 -0
  26. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/generic/generic_helper.py +0 -0
  27. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/init_connection_pool.py +0 -0
  28. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/mongodb/__init__.py +0 -0
  29. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/mongodb/base_model.py +0 -0
  30. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/mongodb/mongodb_helper.py +0 -0
  31. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/mongodb/mongodb_pool.py +0 -0
  32. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/mysql/__init__.py +0 -0
  33. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/mysql/mysql_helper.py +0 -0
  34. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/mysql/mysql_pool.py +0 -0
  35. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/nebula/__init__.py +0 -0
  36. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/nebula/nebula_helper.py +0 -0
  37. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/nebula/nebula_pool.py +0 -0
  38. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/neo4j/__init__.py +0 -0
  39. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/neo4j/neo4j_helper.py +0 -0
  40. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/neo4j/neo4j_pool.py +0 -0
  41. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/page.py +0 -0
  42. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/postgresql/__init__.py +0 -0
  43. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/postgresql/postgresql_helper.py +0 -0
  44. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/postgresql/postgresql_pool.py +0 -0
  45. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/redis/__init__.py +0 -0
  46. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/redis/redis_helper.py +0 -0
  47. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/redis/redis_pool.py +0 -0
  48. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/redis_cluster/__init__.py +0 -0
  49. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/redis_cluster/redis_cluster_helper.py +0 -0
  50. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/redis_cluster/redis_cluster_pool.py +0 -0
  51. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/relational_db_helper.py +0 -0
  52. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/sqlalchemy/__init__.py +0 -0
  53. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/sqlalchemy/sqlalchemy_helper.py +0 -0
  54. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/db/sqlalchemy/sqlalchemy_pool.py +0 -0
  55. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/extend_handlers/__init__.py +0 -0
  56. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/extend_handlers/doc/__init__.py +0 -0
  57. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/extend_handlers/doc/swagger_interface_doc_handler.py +0 -0
  58. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/extend_handlers/not_found_handler.py +0 -0
  59. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/mq/__init__.py +0 -0
  60. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/mq/kafka/__init__.py +0 -0
  61. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/mq/kafka/kafka_helper.py +0 -0
  62. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/mq/rabbitmq/__init__.py +0 -0
  63. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/mq/rabbitmq/rabbitmq_helper.py +0 -0
  64. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/sentry/__init__.py +0 -0
  65. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/sentry/sentry_monitor.py +0 -0
  66. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/task/__init__.py +0 -0
  67. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/task/job_info.py +0 -0
  68. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/task/task_helper.py +0 -0
  69. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/CacheUtil.py +0 -0
  70. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/__init__.py +0 -0
  71. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/doc/__init__.py +0 -0
  72. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/doc/interface_doc.py +0 -0
  73. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/es_log/__init__.py +0 -0
  74. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/es_log/record_log.py +0 -0
  75. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/json.py +0 -0
  76. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/oss/__init__.py +0 -0
  77. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/oss/aliyun_oss.py +0 -0
  78. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/oss/ks3_oss.py +0 -0
  79. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/request.py +0 -0
  80. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/upms_util.py +0 -0
  81. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/utils/wrapper.py +0 -0
  82. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/__init__.py +0 -0
  83. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/base_handler.py +0 -0
  84. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/base_server_send_event_handler.py +0 -0
  85. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/base_websocket_handler.py +0 -0
  86. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/business_exception.py +0 -0
  87. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/native_handler.py +0 -0
  88. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/response_result.py +0 -0
  89. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/router_mapping.py +0 -0
  90. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/status_code.py +0 -0
  91. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode/web/web_server.py +0 -0
  92. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode_py.egg-info/SOURCES.txt +0 -0
  93. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode_py.egg-info/dependency_links.txt +0 -0
  94. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/lesscode_py.egg-info/top_level.txt +0 -0
  95. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/setup.cfg +0 -0
  96. {lesscode-py-0.3.121 → lesscode-py-0.3.123}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lesscode-py
3
- Version: 0.3.121
3
+ Version: 0.3.123
4
4
  Summary: lesscode-python 是基于tornado的web开发脚手架项目,该项目初衷为简化开发过程,让研发人员更加关注业务。
5
5
  Home-page: https://gitee.com/yongchao9/lesscode-python
6
6
  Author: Chao.yy
@@ -48,5 +48,17 @@ class GenericPool(BaseConnectionPool):
48
48
  pooled_db = importlib.import_module("dbutils.pooled_db")
49
49
  except ImportError:
50
50
  raise Exception(f"DBUtils is not exist,run:pip install DBUtils==3.0.2")
51
- pool = pooled_db.PooledDB(creator=generic, **params)
51
+ blocking = params.pop("blocking", True)
52
+ mincached = params.pop("mincached", self.conn_info.min_size)
53
+ maxusage = params.pop("maxusage", self.conn_info.min_size)
54
+ maxshared = params.pop("maxshared", self.conn_info.max_size)
55
+ maxcached = params.pop("maxcached", self.conn_info.max_size)
56
+ reset = params.pop("reset", True)
57
+ setsession = params.pop("setsession", None)
58
+ failures = params.pop("failures", None)
59
+ ping = params.pop("ping", 1)
60
+ pool = pooled_db.PooledDB(creator=generic, mincached=mincached, maxcached=maxcached,
61
+ maxshared=maxshared, maxconnections=self.conn_info.max_size, blocking=blocking,
62
+ maxusage=maxusage, setsession=setsession, reset=reset,
63
+ failures=failures, ping=ping, **params)
52
64
  return pool
@@ -9,35 +9,11 @@ class SQLAlchemyModelBaseService:
9
9
  __connect_name__ = ""
10
10
 
11
11
  @classmethod
12
- def find_one(cls, _id, find_column: list = None):
13
- try:
14
- sqlalchemy = importlib.import_module("sqlalchemy")
15
- except ImportError:
16
- raise Exception(f"sqlalchemy is not exist,run:pip install sqlalchemy==1.4.36")
17
- filters = [cls.__model__.id == _id]
18
- with SqlAlchemyHelper(cls.__connect_name__).make_session() as session:
19
- if not find_column:
20
- statement = sqlalchemy.select(cls.__model__).where(*filters)
21
- res = session.execute(statement).scalars().first() or {}
22
- res = result_to_json(res)
23
- else:
24
- statement = sqlalchemy.select(*[sqlalchemy.column(_) for _ in find_column]).where(*filters)
25
- res = session.execute(statement).first() or {}
26
- res = result_to_json(res)
27
- return res
28
-
29
- @classmethod
30
- def find_page(cls, filter_data: Union[list, dict] = None, find_column: list = None, sort_list: list = None,
31
- page_num: int = 1, page_size: int = 10):
32
- try:
33
- sqlalchemy = importlib.import_module("sqlalchemy")
34
- except ImportError:
35
- raise Exception(f"sqlalchemy is not exist,run:pip install sqlalchemy==1.4.36")
12
+ def convert_filter(cls, filter_data: Union[list, dict] = None):
36
13
  try:
37
14
  sqlalchemy_utils = importlib.import_module("lesscode_utils.sqlalchemy_utils")
38
15
  except ImportError:
39
16
  raise Exception(f"lesscode_utils is not exist,run:pip install lesscode_utils==0.0.48")
40
-
41
17
  filters = []
42
18
  if filter_data:
43
19
  if isinstance(filter_data, list):
@@ -67,6 +43,85 @@ class SQLAlchemyModelBaseService:
67
43
  _position)
68
44
  else:
69
45
  sqlalchemy_utils.condition_by_relation(filters, cls.__model__, field, "eq", value)
46
+ return filters
47
+
48
+ @classmethod
49
+ def count(cls, filter_data: Union[list, dict] = None, find_column: list = None, count_key="count"):
50
+ try:
51
+ sqlalchemy = importlib.import_module("sqlalchemy")
52
+ except ImportError:
53
+ raise Exception(f"sqlalchemy is not exist,run:pip install sqlalchemy==1.4.36")
54
+ filters = cls.convert_filter(filter_data)
55
+ with SqlAlchemyHelper(cls.__connect_name__).make_session() as session:
56
+ field_list = []
57
+ group_list = []
58
+ if not find_column:
59
+ field_list.append(sqlalchemy.func.count())
60
+ statement = sqlalchemy.select(sqlalchemy.func.count()).select_from(cls.__model__).filter(
61
+ *filters)
62
+ res = session.execute(statement).scalar()
63
+ return res
64
+ else:
65
+ for _ in find_column:
66
+ field_list.append(sqlalchemy.column(_))
67
+ group_list.append(sqlalchemy.column(_))
68
+ field_list.append(sqlalchemy.func.count().label(count_key))
69
+ statement = sqlalchemy.select(*field_list).select_from(cls.__model__).filter(*filters).group_by(
70
+ *group_list)
71
+ res = session.execute(statement).all()
72
+ return result_to_json(res)
73
+
74
+ @classmethod
75
+ def find_one(cls, _id, find_column: list = None):
76
+ try:
77
+ sqlalchemy = importlib.import_module("sqlalchemy")
78
+ except ImportError:
79
+ raise Exception(f"sqlalchemy is not exist,run:pip install sqlalchemy==1.4.36")
80
+ filters = [cls.__model__.id == _id]
81
+ with SqlAlchemyHelper(cls.__connect_name__).make_session() as session:
82
+ if not find_column:
83
+ statement = sqlalchemy.select(cls.__model__).where(*filters)
84
+ res = session.execute(statement).scalars().first() or {}
85
+ else:
86
+ statement = sqlalchemy.select(*[sqlalchemy.column(_) for _ in find_column]).select_from(
87
+ cls.__model__).where(*filters)
88
+ res = session.execute(statement).first() or {}
89
+ res = result_to_json(res)
90
+ return res
91
+
92
+ @classmethod
93
+ def find_one_by_filed(cls, field: str = None, value: str = None, find_column: list = None):
94
+ try:
95
+ sqlalchemy = importlib.import_module("sqlalchemy")
96
+ except ImportError:
97
+ raise Exception(f"sqlalchemy is not exist,run:pip install sqlalchemy==1.4.36")
98
+ filters = []
99
+ if field is not None and value is not None:
100
+ filters.append(getattr(cls.__model__, field) == value)
101
+ with SqlAlchemyHelper(cls.__connect_name__).make_session() as session:
102
+ if not find_column:
103
+ statement = sqlalchemy.select(cls.__model__).where(*filters)
104
+ res = session.execute(statement).scalars().first() or {}
105
+ else:
106
+ statement = sqlalchemy.select(*[sqlalchemy.column(_) for _ in find_column]).select_from(
107
+ cls.__model__).where(*filters)
108
+ res = session.execute(statement).first() or {}
109
+ res = result_to_json(res)
110
+ return res
111
+
112
+ @classmethod
113
+ def find_page(cls, filter_data: Union[list, dict] = None, find_column: list = None, sort_list: list = None,
114
+ page_num: int = 1, page_size: int = 10):
115
+ try:
116
+ sqlalchemy = importlib.import_module("sqlalchemy")
117
+ except ImportError:
118
+ raise Exception(f"sqlalchemy is not exist,run:pip install sqlalchemy==1.4.36")
119
+ try:
120
+ sqlalchemy_utils = importlib.import_module("lesscode_utils.sqlalchemy_utils")
121
+ except ImportError:
122
+ raise Exception(f"lesscode_utils is not exist,run:pip install lesscode_utils==0.0.48")
123
+
124
+ filters = cls.convert_filter(filter_data)
70
125
 
71
126
  sort_list = sort_list or []
72
127
  sort_list = sqlalchemy_utils.single_model_format_order(cls.__model__, sort_list)
@@ -106,35 +161,7 @@ class SQLAlchemyModelBaseService:
106
161
  sqlalchemy_utils = importlib.import_module("lesscode_utils.sqlalchemy_utils")
107
162
  except ImportError:
108
163
  raise Exception(f"lesscode_utils is not exist,run:pip install lesscode_utils==0.0.48")
109
- filters = []
110
- if filter_data:
111
- if isinstance(filter_data, list):
112
- for field in filter_data:
113
- _column = field.get('column')
114
- _value = field.get('value')
115
- _end_value = field.get('end_value')
116
- # ["in","like","between","not in","not like","is null","not null","not in list","eq","=","not eq","!=","gt",">","gte",">=","lt","<","lte",">="]
117
- _relation = field.get('relation', "in")
118
- _position = field.get('position', "LR")
119
- sqlalchemy_utils.condition_by_relation(filters, cls.__model__, _column, _relation, _value,
120
- _end_value,
121
- _position)
122
- elif isinstance(filter_data, dict):
123
- for field, value in filter_data.items():
124
- if value:
125
- if isinstance(value, list):
126
- sqlalchemy_utils.condition_by_relation(filters, cls.__model__, field, "in", value)
127
- elif isinstance(value, dict):
128
- _value = value.get('value')
129
- _end_value = value.get('end_value')
130
- # ["in","like","between","not in","not like","is null","not null","not in list","eq","=","not eq","!=","gt",">","gte",">=","lt","<","lte",">="]
131
- _relation = value.get('relation', "in")
132
- _position = value.get('position', "LR")
133
- sqlalchemy_utils.condition_by_relation(filters, cls.__model__, field, _relation, _value,
134
- _end_value,
135
- _position)
136
- else:
137
- sqlalchemy_utils.condition_by_relation(filters, cls.__model__, field, "eq", value)
164
+ filters = cls.convert_filter(filter_data)
138
165
  sort_list = sort_list or []
139
166
  sort_list = sqlalchemy_utils.single_model_format_order(cls.__model__, sort_list)
140
167
  with SqlAlchemyHelper(cls.__connect_name__).make_session() as session:
@@ -191,39 +218,7 @@ class SQLAlchemyModelBaseService:
191
218
  sqlalchemy = importlib.import_module("sqlalchemy")
192
219
  except ImportError:
193
220
  raise Exception(f"sqlalchemy is not exist,run:pip install sqlalchemy==1.4.36")
194
- try:
195
- sqlalchemy_utils = importlib.import_module("lesscode_utils.sqlalchemy_utils")
196
- except ImportError:
197
- raise Exception(f"lesscode_utils is not exist,run:pip install lesscode_utils==0.0.48")
198
- filters = []
199
- if filter_data:
200
- if isinstance(filter_data, list):
201
- for field in filter_data:
202
- _column = field.get('column')
203
- _value = field.get('value')
204
- _end_value = field.get('end_value')
205
- # ["in","like","between","not in","not like","is null","not null","not in list","eq","=","not eq","!=","gt",">","gte",">=","lt","<","lte",">="]
206
- _relation = field.get('relation', "in")
207
- _position = field.get('position', "LR")
208
- sqlalchemy_utils.condition_by_relation(filters, cls.__model__, _column, _relation, _value,
209
- _end_value,
210
- _position)
211
- elif isinstance(filter_data, dict):
212
- for field, value in filter_data.items():
213
- if value:
214
- if isinstance(value, list):
215
- sqlalchemy_utils.condition_by_relation(filters, cls.__model__, field, "in", value)
216
- elif isinstance(value, dict):
217
- _value = value.get('value')
218
- _end_value = value.get('end_value')
219
- # ["in","like","between","not in","not like","is null","not null","not in list","eq","=","not eq","!=","gt",">","gte",">=","lt","<","lte",">="]
220
- _relation = value.get('relation', "in")
221
- _position = value.get('position', "LR")
222
- sqlalchemy_utils.condition_by_relation(filters, cls.__model__, field, _relation, _value,
223
- _end_value,
224
- _position)
225
- else:
226
- sqlalchemy_utils.condition_by_relation(filters, cls.__model__, field, "eq", value)
221
+ filters = cls.convert_filter(filter_data)
227
222
  with SqlAlchemyHelper(cls.__connect_name__).make_session() as session:
228
223
  statement = sqlalchemy.delete(cls.__model__).where(*filters)
229
224
  res = session.execute(statement)
@@ -5,4 +5,4 @@
5
5
  lesscode python version file.
6
6
  """
7
7
 
8
- __version__ = "0.3.121"
8
+ __version__ = "0.3.123"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lesscode-py
3
- Version: 0.3.121
3
+ Version: 0.3.123
4
4
  Summary: lesscode-python 是基于tornado的web开发脚手架项目,该项目初衷为简化开发过程,让研发人员更加关注业务。
5
5
  Home-page: https://gitee.com/yongchao9/lesscode-python
6
6
  Author: Chao.yy
File without changes
File without changes
File without changes