fastgenerateapi 1.1.6__tar.gz → 1.1.8__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.
Potentially problematic release.
This version of fastgenerateapi might be problematic. Click here for more details.
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/PKG-INFO +2 -2
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/README.md +1 -1
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/__version__.py +1 -1
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/base_view.py +5 -3
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/get_one_view.py +5 -3
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/response_mixin.py +4 -4
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/example/models.py +4 -4
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/model/base_model.py +11 -2
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/my_fields/enum_field.py +6 -5
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/schemas_factory/response_factory.py +1 -1
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/utils/auto_discover.py +2 -2
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi.egg-info/PKG-INFO +2 -2
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/LICENSE +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/api_view.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/create_view.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/delete_filter_view.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/delete_tree_view.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/delete_view.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/get_all_view.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/get_relation_view.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/get_tree_view.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/base_mixin.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/dbmodel_mixin.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/get_mixin.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/save_mixin.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/tool_mixin.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/utils/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/utils/docx_util.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/utils/file_util.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/utils/pdf_util.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/utils/xlsx_util.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/utils/zip_util.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/sql_get_view.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/switch_view.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/update_relation_view.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/update_view.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/cache/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/cache/cache_decorator.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/cache/key_builder.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/channel/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/channel/consumer.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/channel/websocket_view.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/controller/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/controller/filter_controller.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/controller/router_controller.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/controller/rpc_controller.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/controller/search_controller.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/controller/ws_controller.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/data_type/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/data_type/data_type.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/data_type/mysql_data_type.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/deps/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/deps/filter_params_deps.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/deps/paginator_deps.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/deps/tree_params_deps.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/example/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/example/routers.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/example/schemas.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/example/views.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/fastapi_utils/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/fastapi_utils/all.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/fastapi_utils/param_utils.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/fastapi_utils/response_utils.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/model/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/my_fields/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/my_fields/aes_field.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/my_fields/pk_field.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/my_fields/pwd_field.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/my_fields/soft_delete_field.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/my_fields/validator.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/pydantic_utils/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/pydantic_utils/base_model.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/pydantic_utils/base_settings.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/pydantic_utils/json_encoders.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/schemas_factory/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/schemas_factory/common_function.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/schemas_factory/common_schema_factory.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/schemas_factory/create_schema_factory.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/schemas_factory/filter_schema_factory.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/schemas_factory/get_all_schema_factory.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/schemas_factory/get_one_schema_factory.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/schemas_factory/get_relation_schema_factory.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/schemas_factory/get_tree_schema_factory.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/schemas_factory/sql_get_all_schema_factory.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/schemas_factory/update_schema_factory.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/settings/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/settings/all_settings.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/settings/app_settings.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/settings/db_settings.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/settings/file_settings.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/settings/jwt_settings.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/settings/otlp_settings.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/settings/redis_settings.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/settings/sms_settings.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/settings/system_settings.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/utils/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/utils/aes.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/utils/exception.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/utils/file_utils.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/utils/pwd_utils.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/utils/ramdom_utils.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/utils/snowflake.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/utils/str_util.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/utils/swagger_to_js.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi.egg-info/SOURCES.txt +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi.egg-info/dependency_links.txt +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi.egg-info/top_level.txt +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/script/__init__.py +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/setup.cfg +0 -0
- {fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fastgenerateapi
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.8
|
|
4
4
|
Summary: FastAPIView Class View
|
|
5
5
|
Author: ShiLiang
|
|
6
6
|
Author-email: 2509144896@qq.com
|
|
@@ -24,7 +24,7 @@ License-File: LICENSE
|
|
|
24
24
|
[Github](https://github.com/ShiLiangAPI)
|
|
25
25
|
|
|
26
26
|
#### 版本说明
|
|
27
|
-
最新版本:v1.1.
|
|
27
|
+
最新版本:v1.1.7
|
|
28
28
|
建议python版本:3.9+
|
|
29
29
|
推荐fastapi版本:0.103.2
|
|
30
30
|
推荐pydantic版本:2.11.5
|
|
@@ -78,9 +78,11 @@ class BaseView(BaseMixin, ResponseMixin, ToolMixin, DBModelMixin):
|
|
|
78
78
|
return self.error(msg="relation_model_class not allow None")
|
|
79
79
|
return self.get_active_queryset(self.relation_model_class)
|
|
80
80
|
|
|
81
|
-
async def get_object(self, pk):
|
|
82
|
-
|
|
83
|
-
|
|
81
|
+
async def get_object(self, pk, is_with_prefetch):
|
|
82
|
+
queryset = self.queryset.filter(id=pk)
|
|
83
|
+
if is_with_prefetch:
|
|
84
|
+
queryset = queryset.prefetch_related(*self.prefetch_related_fields.keys())
|
|
85
|
+
model = await queryset.first()
|
|
84
86
|
if model:
|
|
85
87
|
return model
|
|
86
88
|
else:
|
|
@@ -22,6 +22,7 @@ class GetOneView(BaseView, GetMixin):
|
|
|
22
22
|
|
|
23
23
|
get_one_route: Union[bool, DEPENDENCIES] = True
|
|
24
24
|
get_one_schema: Optional[Type[BaseModel]] = None
|
|
25
|
+
is_with_prefetch: Optional[bool] = False
|
|
25
26
|
"""
|
|
26
27
|
get_one_route: 获取详情路由开关,可以放依赖函数列表
|
|
27
28
|
get_one_schema: 返回序列化
|
|
@@ -31,12 +32,13 @@ class GetOneView(BaseView, GetMixin):
|
|
|
31
32
|
- 优选模型层get_one_include和get_one_exclude(同时存在交集)
|
|
32
33
|
- 合并模型层include和exclude(同时存在交集)
|
|
33
34
|
- 模型层所有字段
|
|
35
|
+
is_with_prefetch: 是否带有列表的prefetch_related_fields
|
|
34
36
|
"""
|
|
35
37
|
|
|
36
38
|
async def get_one(self, pk: str, *args, **kwargs):
|
|
37
|
-
model = await self.get_object(pk)
|
|
38
|
-
|
|
39
|
-
|
|
39
|
+
model = await self.get_object(pk, self.is_with_prefetch)
|
|
40
|
+
if self.is_with_prefetch:
|
|
41
|
+
await self.setattr_model(model, prefetch_related_fields=self.prefetch_related_fields, *args, **kwargs)
|
|
40
42
|
|
|
41
43
|
# await self.setattr_model_rpc(self.rpc_class, model, self.rpc_param)
|
|
42
44
|
model = await self.set_get_model(model)
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/response_mixin.py
RENAMED
|
@@ -22,7 +22,7 @@ class ResponseMixin:
|
|
|
22
22
|
msg: str = "请求成功",
|
|
23
23
|
status_code: int = 200,
|
|
24
24
|
code: Optional[int] = None,
|
|
25
|
-
data:
|
|
25
|
+
data: Any = None,
|
|
26
26
|
background: Optional[BackgroundTask] = None,
|
|
27
27
|
*args,
|
|
28
28
|
**kwargs
|
|
@@ -37,7 +37,7 @@ class ResponseMixin:
|
|
|
37
37
|
"success": True,
|
|
38
38
|
"code": code,
|
|
39
39
|
settings.app_settings.MESSAGE_RESPONSE_FIELD: msg,
|
|
40
|
-
|
|
40
|
+
settings.app_settings.DATA_RESPONSE_FIELD: json_compatible_data
|
|
41
41
|
})
|
|
42
42
|
kwargs.update(resp.dict())
|
|
43
43
|
return JSONResponse(kwargs, status_code=status_code, background=background)
|
|
@@ -48,7 +48,7 @@ class ResponseMixin:
|
|
|
48
48
|
status_code: int = 200,
|
|
49
49
|
code: Optional[int] = None,
|
|
50
50
|
# success: bool = False,
|
|
51
|
-
data:
|
|
51
|
+
data: Any = None,
|
|
52
52
|
background: Optional[BackgroundTask] = None,
|
|
53
53
|
headers: Optional[Dict[str, Any]] = None,
|
|
54
54
|
*args,
|
|
@@ -65,7 +65,7 @@ class ResponseMixin:
|
|
|
65
65
|
"success": False,
|
|
66
66
|
"code": code,
|
|
67
67
|
settings.app_settings.MESSAGE_RESPONSE_FIELD: msg,
|
|
68
|
-
|
|
68
|
+
settings.app_settings.DATA_RESPONSE_FIELD: json_compatible_data
|
|
69
69
|
})
|
|
70
70
|
kwargs.update(resp.dict())
|
|
71
71
|
return JSONResponse(
|
|
@@ -13,7 +13,7 @@ class StaffInfo(Model):
|
|
|
13
13
|
"""
|
|
14
14
|
员工信息
|
|
15
15
|
"""
|
|
16
|
-
|
|
16
|
+
deleted_at: Optional[datetime.datetime] = my_fields.SoftDeleteField()
|
|
17
17
|
created_at: Optional[datetime.datetime] = fields.DatetimeField(null=True, auto_now_add=True, description="创建时间")
|
|
18
18
|
category: Optional[IntEnumClass] = my_fields.IntEnumField(enum_list=["总经理", '主管', '员工'], description="职位分类")
|
|
19
19
|
name: Optional[str] = fields.CharField(description="名字", max_length=255)
|
|
@@ -31,7 +31,7 @@ class StaffInfo(Model):
|
|
|
31
31
|
|
|
32
32
|
class PydanticMeta:
|
|
33
33
|
# 以下内容仅用于演示,存在重复和多余写法
|
|
34
|
-
exclude = ["
|
|
34
|
+
exclude = ["deleted_at", "created_at"]
|
|
35
35
|
get_include = ["category_name", "name"]
|
|
36
36
|
get_all_include = ["company__name"]
|
|
37
37
|
get_one_include = [("test", Optional[str], FieldInfo(default="", description="测试字段")), ]
|
|
@@ -42,7 +42,7 @@ class CompanyInfo(Model):
|
|
|
42
42
|
"""
|
|
43
43
|
公司信息
|
|
44
44
|
"""
|
|
45
|
-
|
|
45
|
+
deleted_at: Optional[datetime.datetime] = my_fields.SoftDeleteField()
|
|
46
46
|
name: str = fields.CharField(description="岗位名称", max_length=255)
|
|
47
47
|
boss_name: str = fields.CharField(description="老板名字", max_length=255)
|
|
48
48
|
parent: fields.ForeignKeyNullableRelation["CompanyInfo"] = fields.ForeignKeyField(
|
|
@@ -53,7 +53,7 @@ class CompanyInfo(Model):
|
|
|
53
53
|
description='父级')
|
|
54
54
|
|
|
55
55
|
class PydanticMeta:
|
|
56
|
-
exclude = ["
|
|
56
|
+
exclude = ["deleted_at"]
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
|
|
@@ -45,12 +45,21 @@ class BaseActiveMixin(models.Model):
|
|
|
45
45
|
class Meta:
|
|
46
46
|
abstract = True
|
|
47
47
|
|
|
48
|
-
|
|
49
48
|
class TortoiseOrmAbstractModel(PrimaryKeyMixin, TimestampMixin, BaseDeleteMixin):
|
|
50
49
|
...
|
|
51
50
|
|
|
52
51
|
class PydanticMeta:
|
|
53
|
-
exclude = ["
|
|
52
|
+
exclude = ["deleted_at"]
|
|
53
|
+
|
|
54
|
+
class Meta:
|
|
55
|
+
abstract = True
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
class TortoiseOrmAbstractBaseModel(PrimaryKeyMixin, TimestampMixin, BaseActiveMixin):
|
|
59
|
+
...
|
|
60
|
+
|
|
61
|
+
class PydanticMeta:
|
|
62
|
+
exclude = ["is_active"]
|
|
54
63
|
|
|
55
64
|
class Meta:
|
|
56
65
|
abstract = True
|
|
@@ -23,7 +23,8 @@ if TYPE_CHECKING: # pragma: nocoverage
|
|
|
23
23
|
|
|
24
24
|
class IntEnumField(IntEnumFieldInstance):
|
|
25
25
|
"""
|
|
26
|
-
传入参数数组,默认生成枚举类,数字从
|
|
26
|
+
传入参数数组,默认生成枚举类,数字从 0 开始
|
|
27
|
+
可以通过 start_num=1 设置从1开始
|
|
27
28
|
例如:
|
|
28
29
|
enum_list = ["A", "B"]
|
|
29
30
|
相当于枚举
|
|
@@ -33,10 +34,10 @@ class IntEnumField(IntEnumFieldInstance):
|
|
|
33
34
|
通过方法 get_name 获取对应的值, "A"
|
|
34
35
|
"""
|
|
35
36
|
|
|
36
|
-
def __init__(self, enum_list: List[any], **kwargs: Any) -> None:
|
|
37
|
+
def __init__(self, enum_list: List[any], start_num=0, **kwargs: Any) -> None:
|
|
37
38
|
self.enum_list = enum_list
|
|
38
39
|
self.description = kwargs.get("description", "") + " >> " + self.get_description(enum_list)
|
|
39
|
-
super().__init__(enum_type=self.create_enum(enum_list), **kwargs)
|
|
40
|
+
super().__init__(enum_type=self.create_enum(enum_list, start_num=start_num), **kwargs)
|
|
40
41
|
|
|
41
42
|
@property
|
|
42
43
|
def constraints(self) -> dict:
|
|
@@ -73,10 +74,10 @@ class IntEnumField(IntEnumFieldInstance):
|
|
|
73
74
|
description += f"{index}:{val};"
|
|
74
75
|
return description
|
|
75
76
|
|
|
76
|
-
def create_enum(self, enum_list):
|
|
77
|
+
def create_enum(self, enum_list, start_num=0):
|
|
77
78
|
# 创建枚举类的成员字典,确保值是唯一的
|
|
78
79
|
|
|
79
|
-
members = {self.number_to_words(name): name for name, _ in enumerate(enum_list,
|
|
80
|
+
members = {self.number_to_words(name): name for name, _ in enumerate(enum_list, start_num)}
|
|
80
81
|
|
|
81
82
|
# 使用Enum的元类EnumMeta来动态创建枚举类
|
|
82
83
|
enum_class = IntEnum("CategoryEnum", members)
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/schemas_factory/response_factory.py
RENAMED
|
@@ -29,7 +29,7 @@ def response_factory(schema_cls: Union[Type[T], BaseModel, None] = None, name: s
|
|
|
29
29
|
else:
|
|
30
30
|
fields.setdefault(
|
|
31
31
|
settings.app_settings.DATA_RESPONSE_FIELD,
|
|
32
|
-
(Union[dict, str, None], FieldInfo(default={}, description="数据内容"))
|
|
32
|
+
(Union[dict, list, str, None], FieldInfo(default={}, description="数据内容"))
|
|
33
33
|
)
|
|
34
34
|
|
|
35
35
|
try:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fastgenerateapi
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.8
|
|
4
4
|
Summary: FastAPIView Class View
|
|
5
5
|
Author: ShiLiang
|
|
6
6
|
Author-email: 2509144896@qq.com
|
|
@@ -24,7 +24,7 @@ License-File: LICENSE
|
|
|
24
24
|
[Github](https://github.com/ShiLiangAPI)
|
|
25
25
|
|
|
26
26
|
#### 版本说明
|
|
27
|
-
最新版本:v1.1.
|
|
27
|
+
最新版本:v1.1.7
|
|
28
28
|
建议python版本:3.9+
|
|
29
29
|
推荐fastapi版本:0.103.2
|
|
30
30
|
推荐pydantic版本:2.11.5
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/delete_filter_view.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/delete_tree_view.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/get_relation_view.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/base_mixin.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/dbmodel_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/save_mixin.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/tool_mixin.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/utils/__init__.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/utils/docx_util.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/utils/file_util.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/utils/pdf_util.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/utils/xlsx_util.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/mixin/utils/zip_util.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/api_view/update_relation_view.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.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/controller/filter_controller.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/controller/router_controller.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/controller/rpc_controller.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/controller/search_controller.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/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
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/fastapi_utils/param_utils.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/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
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/my_fields/soft_delete_field.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/pydantic_utils/base_model.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/pydantic_utils/base_settings.py
RENAMED
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/pydantic_utils/json_encoders.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi/schemas_factory/common_function.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastgenerateapi-1.1.6 → fastgenerateapi-1.1.8}/fastgenerateapi.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|