fastgenerateapi 1.2.2__tar.gz → 1.2.4__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.
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/PKG-INFO +3 -3
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/README.md +2 -2
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/__version__.py +1 -1
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/update_view.py +3 -3
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/common_function.py +5 -2
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/all_settings.py +40 -39
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/app_settings.py +1 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi.egg-info/PKG-INFO +3 -3
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/LICENSE +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/api_view.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/base_view.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/create_view.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/delete_filter_view.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/delete_tree_view.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/delete_view.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/get_all_view.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/get_one_view.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/get_relation_view.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/get_tree_view.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/base_mixin.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/dbmodel_mixin.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/get_mixin.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/response_mixin.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/save_mixin.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/tool_mixin.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/docx_util.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/file_util.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/pdf_util.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/xlsx_util.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/zip_util.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/sql_get_view.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/switch_view.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/update_relation_view.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/cache/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/cache/cache_decorator.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/cache/key_builder.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/channel/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/channel/connection_manager.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/channel/consumer.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/channel/websocket_view.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/filter_controller.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/router_controller.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/rpc_controller.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/search_controller.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/ws_controller.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/data_type/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/data_type/data_type.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/data_type/mysql_data_type.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/deps/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/deps/filter_params_deps.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/deps/paginator_deps.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/deps/tree_params_deps.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/example/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/example/models.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/example/routers.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/example/schemas.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/example/views.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/fastapi_utils/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/fastapi_utils/all.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/fastapi_utils/param_utils.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/fastapi_utils/response_utils.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/model/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/model/base_model.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/aes_field.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/enum_field.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/pk_field.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/pwd_field.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/soft_delete_field.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/validator.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/pydantic_utils/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/pydantic_utils/base_model.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/pydantic_utils/base_settings.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/pydantic_utils/json_encoders.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/common_schema_factory.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/create_schema_factory.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/filter_schema_factory.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/get_all_schema_factory.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/get_one_schema_factory.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/get_relation_schema_factory.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/get_tree_schema_factory.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/response_factory.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/sql_get_all_schema_factory.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/update_schema_factory.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/db_settings.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/etcd_settings.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/file_settings.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/jwt_settings.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/otlp_settings.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/redis_settings.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/sms_settings.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/settings/system_settings.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/aes.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/auto_discover.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/exception.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/file_utils.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/pwd_utils.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/ramdom_utils.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/snowflake.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/str_util.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/utils/swagger_to_js.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi.egg-info/SOURCES.txt +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi.egg-info/dependency_links.txt +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi.egg-info/top_level.txt +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/script/__init__.py +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/setup.cfg +0 -0
- {fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fastgenerateapi
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.4
|
|
4
4
|
Summary: FastAPIView Class View
|
|
5
5
|
Author: ShiLiang
|
|
6
6
|
Author-email: 2509144896@qq.com
|
|
@@ -94,7 +94,7 @@ uvicorn.run(app)
|
|
|
94
94
|
- get_one_include, get_one_exclude
|
|
95
95
|
- 与include同时生效,无include自动包含数据库模型搜友字段
|
|
96
96
|
- 可添加跨表字段,自动生成校验和文档
|
|
97
|
-
- 其他字段: ("test",
|
|
97
|
+
- 其他字段: ("test", Optional[str], FieldInfo(..., description="文档描述"))
|
|
98
98
|
- get_all_include, get_all_exclude
|
|
99
99
|
- create_include, create_exclude
|
|
100
100
|
- update_include, update_exclude
|
|
@@ -131,7 +131,7 @@ class XxxView(APIView):
|
|
|
131
131
|
文档Summary注释
|
|
132
132
|
生成 get方法,路由为 前缀/user_list
|
|
133
133
|
"""
|
|
134
|
-
return
|
|
134
|
+
return self.success(data={"list": []})
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
|
|
@@ -76,7 +76,7 @@ uvicorn.run(app)
|
|
|
76
76
|
- get_one_include, get_one_exclude
|
|
77
77
|
- 与include同时生效,无include自动包含数据库模型搜友字段
|
|
78
78
|
- 可添加跨表字段,自动生成校验和文档
|
|
79
|
-
- 其他字段: ("test",
|
|
79
|
+
- 其他字段: ("test", Optional[str], FieldInfo(..., description="文档描述"))
|
|
80
80
|
- get_all_include, get_all_exclude
|
|
81
81
|
- create_include, create_exclude
|
|
82
82
|
- update_include, update_exclude
|
|
@@ -113,7 +113,7 @@ class XxxView(APIView):
|
|
|
113
113
|
文档Summary注释
|
|
114
114
|
生成 get方法,路由为 前缀/user_list
|
|
115
115
|
"""
|
|
116
|
-
return
|
|
116
|
+
return self.success(data={"list": []})
|
|
117
117
|
```
|
|
118
118
|
|
|
119
119
|
|
|
@@ -34,8 +34,8 @@ class UpdateView(BaseView, SaveMixin):
|
|
|
34
34
|
@atomic()
|
|
35
35
|
async def update(self, pk: str, request_data, *args, **kwargs):
|
|
36
36
|
model = await self.get_object(pk, self.model_class, self.is_with_prefetch)
|
|
37
|
-
data_dict = await self.set_update_fields(request_data=request_data, *args, **kwargs)
|
|
38
|
-
data_dict = await self.set_save_fields(data_dict, request_data=request_data, *args, **kwargs)
|
|
37
|
+
data_dict = await self.set_update_fields(model=model, request_data=request_data, *args, **kwargs)
|
|
38
|
+
data_dict = await self.set_save_fields(data_dict, model=model, request_data=request_data, *args, **kwargs)
|
|
39
39
|
|
|
40
40
|
await self.check_unique_field(data_dict, model_class=self.model_class, model=model)
|
|
41
41
|
model = await self.set_update_model(model, data_dict, request_data=request_data, *args, **kwargs)
|
|
@@ -43,7 +43,7 @@ class UpdateView(BaseView, SaveMixin):
|
|
|
43
43
|
|
|
44
44
|
return model
|
|
45
45
|
|
|
46
|
-
async def set_update_fields(self, request_data, *args, **kwargs) -> dict:
|
|
46
|
+
async def set_update_fields(self, model, request_data, *args, **kwargs) -> dict:
|
|
47
47
|
"""
|
|
48
48
|
修改属性:
|
|
49
49
|
data_dict = request_data.dict(exclude_unset=True)
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/common_function.py
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from typing import Type, Optional, Union
|
|
2
2
|
|
|
3
|
-
from pydantic import
|
|
3
|
+
from pydantic import field_validator
|
|
4
4
|
from pydantic.fields import FieldInfo
|
|
5
5
|
from tortoise import Model
|
|
6
6
|
|
|
@@ -144,7 +144,10 @@ def get_validate_dict_from_fields(fields_info: dict) -> dict:
|
|
|
144
144
|
for filed, field_tuple in fields_info.items():
|
|
145
145
|
if field_tuple[0] == str:
|
|
146
146
|
method_name = "check_%s" % filed
|
|
147
|
-
|
|
147
|
+
# v1
|
|
148
|
+
# validator_method = validator(filed, pre=True, allow_reuse=True)(remove_blank_strings)
|
|
149
|
+
# v2
|
|
150
|
+
validator_method = field_validator(filed, mode='before')(remove_blank_strings)
|
|
148
151
|
validator_dict[method_name] = validator_method
|
|
149
152
|
return validator_dict
|
|
150
153
|
|
|
@@ -79,50 +79,51 @@ class SettingsModel(BaseModel):
|
|
|
79
79
|
):
|
|
80
80
|
"""
|
|
81
81
|
get global settings and set into cache
|
|
82
|
-
:param path:
|
|
83
|
-
|
|
84
|
-
|
|
82
|
+
:param path: 指定本地文件,指定的文件不能用于修改 SettingsModel、EtcdSettings 的属性
|
|
83
|
+
|
|
84
|
+
Etcd配置优先级:
|
|
85
|
+
application.yaml > path指定文件 > .env
|
|
86
|
+
其他属性优先级:
|
|
87
|
+
Etcd配置文件 > application.yaml > path指定文件 > .env
|
|
88
|
+
除了.env,其他都是yaml格式
|
|
85
89
|
:return:
|
|
86
90
|
"""
|
|
87
|
-
|
|
91
|
+
data_dict = {}
|
|
88
92
|
if path:
|
|
89
|
-
if
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
93
|
+
if not os.path.isfile(path):
|
|
94
|
+
raise ValidationException(f"指定哦欸之文件【{path}】不存在")
|
|
95
|
+
if str(path).endswith('.yaml'):
|
|
96
|
+
with open(path, 'r', encoding='utf-8') as file:
|
|
97
|
+
data_dict.update(yaml.safe_load(file) or {})
|
|
98
|
+
else:
|
|
99
|
+
raise ValidationException("不支持指定非yaml格式")
|
|
100
|
+
if os.path.isfile("application.yaml"):
|
|
101
|
+
with open("application.yaml", 'r', encoding='utf-8') as file:
|
|
102
|
+
data_dict.update(yaml.safe_load(file) or {})
|
|
103
|
+
|
|
104
|
+
etcd_settings = EtcdSettings(**data_dict.get("EtcdSettings", {}))
|
|
105
|
+
if etcd_settings.ETCD_SETTING_KEY:
|
|
106
|
+
res, metadata = etcd_settings.client.get(etcd_settings.ETCD_SETTING_KEY)
|
|
107
|
+
if not res:
|
|
108
|
+
raise ValidationException("未读取到Etcd的配置文件")
|
|
109
|
+
data_dict.update(yaml.safe_load(res))
|
|
96
110
|
|
|
97
|
-
setting_models = cls.model_fields.copy()
|
|
98
111
|
setting_dict = {}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
for k, v in setting_models.items():
|
|
115
|
-
if isinstance(v, FieldInfo):
|
|
116
|
-
env_prefix = None
|
|
117
|
-
if hasattr(v.annotation, "Config") and v.annotation.Config.env_prefix:
|
|
118
|
-
env_prefix = v.annotation.Config.env_prefix
|
|
119
|
-
if not env_prefix and hasattr(v.annotation, "model_config"):
|
|
120
|
-
env_prefix = v.annotation.model_config.get("env_prefix")
|
|
121
|
-
if env_prefix:
|
|
122
|
-
annotation_dict = {k_i.removeprefix(env_prefix): v_i for k_i, v_i in data_dict.get(v.annotation.__name__, {}).items()}
|
|
123
|
-
else:
|
|
124
|
-
annotation_dict = data_dict.get(v.annotation.__name__, {})
|
|
125
|
-
setting_dict[k] = v.annotation(**annotation_dict)
|
|
112
|
+
setting_models = cls.model_fields.copy()
|
|
113
|
+
for k, v in setting_models.items():
|
|
114
|
+
if isinstance(v, FieldInfo):
|
|
115
|
+
env_prefix = None
|
|
116
|
+
if hasattr(v.annotation, "Config") and v.annotation.Config.env_prefix:
|
|
117
|
+
env_prefix = v.annotation.Config.env_prefix
|
|
118
|
+
if not env_prefix and hasattr(v.annotation, "model_config"):
|
|
119
|
+
env_prefix = v.annotation.model_config.get("env_prefix")
|
|
120
|
+
if env_prefix:
|
|
121
|
+
annotation_dict = {
|
|
122
|
+
k_i.removeprefix(env_prefix): v_i for k_i, v_i in data_dict.get(v.annotation.__name__, {}).items()
|
|
123
|
+
}
|
|
124
|
+
else:
|
|
125
|
+
annotation_dict = data_dict.get(v.annotation.__name__, {})
|
|
126
|
+
setting_dict[k] = v.annotation(**annotation_dict)
|
|
126
127
|
|
|
127
128
|
setting_data = cls(**setting_dict)
|
|
128
129
|
|
|
@@ -8,6 +8,7 @@ from fastgenerateapi.pydantic_utils.base_settings import BaseSettings
|
|
|
8
8
|
|
|
9
9
|
class AppSettings(BaseSettings):
|
|
10
10
|
# 字段配置 驼峰格式:新版本(pydantic.alias_generators:to_camel)、老版本(pydantic.utils.to_lower_camel)
|
|
11
|
+
# 下划线:pydantic.alias_generators.to_snake
|
|
11
12
|
ALIAS_GENERATOR: Optional[str] = Field(default="pydantic.alias_generators.to_snake", description="序列化参数命名方法路径")
|
|
12
13
|
|
|
13
14
|
# 分页对应字段以及配置默认值
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fastgenerateapi
|
|
3
|
-
Version: 1.2.
|
|
3
|
+
Version: 1.2.4
|
|
4
4
|
Summary: FastAPIView Class View
|
|
5
5
|
Author: ShiLiang
|
|
6
6
|
Author-email: 2509144896@qq.com
|
|
@@ -94,7 +94,7 @@ uvicorn.run(app)
|
|
|
94
94
|
- get_one_include, get_one_exclude
|
|
95
95
|
- 与include同时生效,无include自动包含数据库模型搜友字段
|
|
96
96
|
- 可添加跨表字段,自动生成校验和文档
|
|
97
|
-
- 其他字段: ("test",
|
|
97
|
+
- 其他字段: ("test", Optional[str], FieldInfo(..., description="文档描述"))
|
|
98
98
|
- get_all_include, get_all_exclude
|
|
99
99
|
- create_include, create_exclude
|
|
100
100
|
- update_include, update_exclude
|
|
@@ -131,7 +131,7 @@ class XxxView(APIView):
|
|
|
131
131
|
文档Summary注释
|
|
132
132
|
生成 get方法,路由为 前缀/user_list
|
|
133
133
|
"""
|
|
134
|
-
return
|
|
134
|
+
return self.success(data={"list": []})
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/delete_filter_view.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/delete_tree_view.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/get_relation_view.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/base_mixin.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/dbmodel_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/response_mixin.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/save_mixin.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/tool_mixin.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/__init__.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/docx_util.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/file_util.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/pdf_util.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/xlsx_util.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/mixin/utils/zip_util.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/api_view/update_relation_view.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/channel/connection_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/filter_controller.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/router_controller.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/rpc_controller.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/controller/search_controller.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/data_type/mysql_data_type.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/fastapi_utils/param_utils.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/fastapi_utils/response_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/my_fields/soft_delete_field.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/pydantic_utils/base_model.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/pydantic_utils/base_settings.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/pydantic_utils/json_encoders.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi/schemas_factory/response_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.2.2 → fastgenerateapi-1.2.4}/fastgenerateapi.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|