fastgenerateapi 1.2.4__tar.gz → 1.2.5__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 (116) hide show
  1. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/PKG-INFO +1 -1
  2. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/__init__.py +1 -0
  3. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/__version__.py +1 -1
  4. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/create_view.py +10 -9
  5. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/delete_filter_view.py +4 -2
  6. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/delete_tree_view.py +4 -2
  7. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/delete_view.py +5 -2
  8. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/get_all_view.py +2 -0
  9. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/get_one_view.py +2 -0
  10. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/get_relation_view.py +2 -0
  11. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/get_tree_view.py +2 -0
  12. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/switch_view.py +2 -0
  13. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/update_relation_view.py +4 -2
  14. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/update_view.py +9 -9
  15. fastgenerateapi-1.2.5/fastgenerateapi/fastapi_utils/tortoise_utils.py +39 -0
  16. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/my_fields/enum_field.py +3 -2
  17. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/schemas_factory/common_function.py +5 -16
  18. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/settings/all_settings.py +1 -1
  19. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi.egg-info/PKG-INFO +1 -1
  20. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi.egg-info/SOURCES.txt +1 -0
  21. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/LICENSE +0 -0
  22. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/README.md +0 -0
  23. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/__init__.py +0 -0
  24. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/api_view.py +0 -0
  25. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/base_view.py +0 -0
  26. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/mixin/__init__.py +0 -0
  27. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/mixin/base_mixin.py +0 -0
  28. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/mixin/dbmodel_mixin.py +0 -0
  29. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/mixin/get_mixin.py +0 -0
  30. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/mixin/response_mixin.py +0 -0
  31. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/mixin/save_mixin.py +0 -0
  32. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/mixin/tool_mixin.py +0 -0
  33. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/mixin/utils/__init__.py +0 -0
  34. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/mixin/utils/docx_util.py +0 -0
  35. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/mixin/utils/file_util.py +0 -0
  36. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/mixin/utils/pdf_util.py +0 -0
  37. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/mixin/utils/xlsx_util.py +0 -0
  38. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/mixin/utils/zip_util.py +0 -0
  39. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/api_view/sql_get_view.py +0 -0
  40. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/cache/__init__.py +0 -0
  41. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/cache/cache_decorator.py +0 -0
  42. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/cache/key_builder.py +0 -0
  43. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/channel/__init__.py +0 -0
  44. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/channel/connection_manager.py +0 -0
  45. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/channel/consumer.py +0 -0
  46. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/channel/websocket_view.py +0 -0
  47. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/controller/__init__.py +0 -0
  48. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/controller/filter_controller.py +0 -0
  49. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/controller/router_controller.py +0 -0
  50. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/controller/rpc_controller.py +0 -0
  51. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/controller/search_controller.py +0 -0
  52. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/controller/ws_controller.py +0 -0
  53. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/data_type/__init__.py +0 -0
  54. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/data_type/data_type.py +0 -0
  55. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/data_type/mysql_data_type.py +0 -0
  56. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/deps/__init__.py +0 -0
  57. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/deps/filter_params_deps.py +0 -0
  58. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/deps/paginator_deps.py +0 -0
  59. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/deps/tree_params_deps.py +0 -0
  60. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/example/__init__.py +0 -0
  61. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/example/models.py +0 -0
  62. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/example/routers.py +0 -0
  63. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/example/schemas.py +0 -0
  64. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/example/views.py +0 -0
  65. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/fastapi_utils/__init__.py +0 -0
  66. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/fastapi_utils/all.py +0 -0
  67. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/fastapi_utils/param_utils.py +0 -0
  68. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/fastapi_utils/response_utils.py +0 -0
  69. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/model/__init__.py +0 -0
  70. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/model/base_model.py +0 -0
  71. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/my_fields/__init__.py +0 -0
  72. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/my_fields/aes_field.py +0 -0
  73. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/my_fields/pk_field.py +0 -0
  74. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/my_fields/pwd_field.py +0 -0
  75. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/my_fields/soft_delete_field.py +0 -0
  76. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/my_fields/validator.py +0 -0
  77. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/pydantic_utils/__init__.py +0 -0
  78. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/pydantic_utils/base_model.py +0 -0
  79. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/pydantic_utils/base_settings.py +0 -0
  80. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/pydantic_utils/json_encoders.py +0 -0
  81. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/schemas_factory/__init__.py +0 -0
  82. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/schemas_factory/common_schema_factory.py +0 -0
  83. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/schemas_factory/create_schema_factory.py +0 -0
  84. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/schemas_factory/filter_schema_factory.py +0 -0
  85. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/schemas_factory/get_all_schema_factory.py +0 -0
  86. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/schemas_factory/get_one_schema_factory.py +0 -0
  87. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/schemas_factory/get_relation_schema_factory.py +0 -0
  88. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/schemas_factory/get_tree_schema_factory.py +0 -0
  89. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/schemas_factory/response_factory.py +0 -0
  90. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/schemas_factory/sql_get_all_schema_factory.py +0 -0
  91. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/schemas_factory/update_schema_factory.py +0 -0
  92. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/settings/__init__.py +0 -0
  93. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/settings/app_settings.py +0 -0
  94. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/settings/db_settings.py +0 -0
  95. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/settings/etcd_settings.py +0 -0
  96. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/settings/file_settings.py +0 -0
  97. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/settings/jwt_settings.py +0 -0
  98. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/settings/otlp_settings.py +0 -0
  99. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/settings/redis_settings.py +0 -0
  100. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/settings/sms_settings.py +0 -0
  101. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/settings/system_settings.py +0 -0
  102. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/utils/__init__.py +0 -0
  103. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/utils/aes.py +0 -0
  104. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/utils/auto_discover.py +0 -0
  105. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/utils/exception.py +0 -0
  106. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/utils/file_utils.py +0 -0
  107. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/utils/pwd_utils.py +0 -0
  108. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/utils/ramdom_utils.py +0 -0
  109. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/utils/snowflake.py +0 -0
  110. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/utils/str_util.py +0 -0
  111. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi/utils/swagger_to_js.py +0 -0
  112. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi.egg-info/dependency_links.txt +0 -0
  113. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/fastgenerateapi.egg-info/top_level.txt +0 -0
  114. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/script/__init__.py +0 -0
  115. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/setup.cfg +0 -0
  116. {fastgenerateapi-1.2.4 → fastgenerateapi-1.2.5}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastgenerateapi
3
- Version: 1.2.4
3
+ Version: 1.2.5
4
4
  Summary: FastAPIView Class View
5
5
  Author: ShiLiang
6
6
  Author-email: 2509144896@qq.com
@@ -8,6 +8,7 @@
8
8
  # d8888P
9
9
 
10
10
  author="石亮"
11
+ from fastgenerateapi.fastapi_utils.tortoise_utils import *
11
12
  from fastgenerateapi.api_view.api_view import APIView, CreateView, GetOneView, GetAllView, UpdateView, DeleteView, \
12
13
  SwitchView
13
14
  from fastgenerateapi.api_view.get_tree_view import GetTreeView
@@ -8,7 +8,7 @@
8
8
  # d8888P
9
9
 
10
10
 
11
- VERSION = (1, 2, 4)
11
+ VERSION = (1, 2, 5)
12
12
 
13
13
  __version__ = '.'.join(map(str, VERSION))
14
14
 
@@ -89,17 +89,18 @@ class CreateView(BaseView, SaveMixin):
89
89
  *args,
90
90
  **kwargs
91
91
  )
92
+ if isinstance(data, Model):
93
+ if settings.app_settings.WHETHER_CREATE_RESPONSE_DATA:
94
+ if self.is_with_prefetch:
95
+ data = await self.get_object(data.id, self.model_class, self.is_with_prefetch)
96
+ await self.setattr_model(data, prefetch_related_fields=self.prefetch_related_fields)
97
+
98
+ return self.success(data=self.create_response_schema.model_validate(data))
99
+ return self.success()
92
100
  if isinstance(data, JSONResponse):
93
101
  return data
94
- if isinstance(data, PydanticBaseModel):
95
- return self.success(data=data)
96
- if settings.app_settings.WHETHER_CREATE_RESPONSE_DATA:
97
- if self.is_with_prefetch:
98
- data = await self.get_object(data.id, self.model_class, self.is_with_prefetch)
99
- await self.setattr_model(data, prefetch_related_fields=self.prefetch_related_fields)
100
-
101
- return self.success(data=self.create_response_schema.model_validate(data))
102
- return self.success()
102
+ return self.success(data=data)
103
+
103
104
  return route
104
105
 
105
106
  def _handler_create_settings(self):
@@ -42,14 +42,16 @@ class DeleteFilterView(BaseView):
42
42
  filters: dict = Depends(filter_params_deps(model_class=self.model_class, fields=self.filter_fields)),
43
43
  token: Optional[str] = Depends(OAuth2PasswordBearer(tokenUrl="token", auto_error=False)),
44
44
  ) -> JSONResponse:
45
- await self.destroy_filter(
45
+ data = await self.destroy_filter(
46
46
  search=search,
47
47
  filters=filters,
48
48
  request=request,
49
49
  token=token,
50
50
  *args, **kwargs
51
51
  )
52
- return self.success(msg="删除成功")
52
+ if isinstance(data, JSONResponse):
53
+ return data
54
+ return self.success(msg="删除成功", data=data)
53
55
  return route
54
56
 
55
57
  def _handler_destroy_filter_settings(self):
@@ -68,13 +68,15 @@ class DeleteTreeView(BaseView):
68
68
  request: Request,
69
69
  token: Optional[str] = Depends(OAuth2PasswordBearer(tokenUrl="token", auto_error=False)),
70
70
  ) -> JSONResponse:
71
- await self.destroy_tree(
71
+ data = await self.destroy_tree(
72
72
  request_data=request_data,
73
73
  request=request,
74
74
  token=token,
75
75
  *args, **kwargs
76
76
  )
77
- return self.success(msg="删除成功")
77
+ if isinstance(data, JSONResponse):
78
+ return data
79
+ return self.success(msg="删除成功", data=data)
78
80
  return route
79
81
 
80
82
  def _handler_delete_tree_settings(self):
@@ -58,13 +58,16 @@ class DeleteView(BaseView):
58
58
  request: Request,
59
59
  token: Optional[str] = Depends(OAuth2PasswordBearer(tokenUrl="token", auto_error=False)),
60
60
  ) -> JSONResponse:
61
- await self.destroy(
61
+ data = await self.destroy(
62
62
  request_data=request_data,
63
63
  request=request,
64
64
  token=token,
65
65
  *args, **kwargs
66
66
  )
67
- return self.success(msg="删除成功")
67
+
68
+ if isinstance(data, JSONResponse):
69
+ return data
70
+ return self.success(msg="删除成功", data=data)
68
71
  return route
69
72
 
70
73
  def _handler_delete_settings(self):
@@ -161,6 +161,8 @@ class GetAllView(BaseView, GetMixin):
161
161
  *args,
162
162
  **kwargs
163
163
  )
164
+ if isinstance(data, JSONResponse):
165
+ return data
164
166
  return self.success(data=data)
165
167
 
166
168
  return route
@@ -62,6 +62,8 @@ class GetOneView(BaseView, GetMixin):
62
62
  token=token,
63
63
  *args, **kwargs
64
64
  )
65
+ if isinstance(data, JSONResponse):
66
+ return data
65
67
  return self.success(data=data)
66
68
  return route
67
69
 
@@ -175,6 +175,8 @@ class GetRelationView(BaseView):
175
175
  *args,
176
176
  **kwargs
177
177
  )
178
+ if isinstance(data, JSONResponse):
179
+ return data
178
180
  return self.success(data=data)
179
181
  return route
180
182
 
@@ -170,6 +170,8 @@ class GetTreeView(BaseView):
170
170
  *args,
171
171
  **kwargs
172
172
  )
173
+ if isinstance(data, JSONResponse):
174
+ return data
173
175
  return self.success(data=data)
174
176
  return route
175
177
 
@@ -48,6 +48,8 @@ class SwitchView(BaseView):
48
48
  token: Optional[str] = Depends(OAuth2PasswordBearer(tokenUrl="token", auto_error=False)),
49
49
  ) -> JSONResponse:
50
50
  data = await self.switch(pk=pk, request=request, filed=filed, token=token, *args, **kwargs)
51
+ if isinstance(data, JSONResponse):
52
+ return data
51
53
  return self.success(data=data)
52
54
  return route
53
55
 
@@ -61,14 +61,16 @@ class UpdateRelationView(BaseView, SaveMixin):
61
61
  request: Request,
62
62
  token: Optional[str] = Depends(OAuth2PasswordBearer(tokenUrl="token", auto_error=False)),
63
63
  ) -> JSONResponse:
64
- await self.update_relation(
64
+ data = await self.update_relation(
65
65
  pk=pk,
66
66
  request_data=request_data,
67
67
  request=request,
68
68
  token=token,
69
69
  *args, **kwargs
70
70
  )
71
- return self.success()
71
+ if isinstance(data, JSONResponse):
72
+ return data
73
+ return self.success(data=data)
72
74
  return route
73
75
 
74
76
  def _handler_update_relation_settings(self):
@@ -81,18 +81,18 @@ class UpdateView(BaseView, SaveMixin):
81
81
  token=token,
82
82
  *args, **kwargs
83
83
  )
84
+ if isinstance(data, Model):
85
+ if settings.app_settings.WHETHER_UPDATE_RESPONSE_DATA:
86
+ if self.is_with_prefetch:
87
+ await self.setattr_model(data, prefetch_related_fields=self.prefetch_related_fields, *args,
88
+ **kwargs)
89
+
90
+ return self.success(data=self.update_response_schema.model_validate(data))
91
+ return self.success()
84
92
  if isinstance(data, JSONResponse):
85
93
  return data
86
- if isinstance(data, PydanticBaseModel):
87
- return self.success(data=data)
88
- if settings.app_settings.WHETHER_UPDATE_RESPONSE_DATA:
89
- if self.is_with_prefetch:
90
- await self.setattr_model(data, prefetch_related_fields=self.prefetch_related_fields, *args,
91
- **kwargs)
94
+ return self.success(data=data)
92
95
 
93
- return self.success(data=self.update_response_schema.model_validate(data))
94
-
95
- return self.success()
96
96
  return route
97
97
 
98
98
  def _handler_update_settings(self):
@@ -0,0 +1,39 @@
1
+ from typing import Optional
2
+
3
+ from tortoise import BaseDBAsyncClient, connections, transactions
4
+ from tortoise.exceptions import ParamsError
5
+
6
+
7
+ def _get_connection(connection_name: Optional[str]) -> BaseDBAsyncClient:
8
+ # tortoise-orm==0.25.1
9
+ # if connection_name:
10
+ # connection = connections.get(connection_name)
11
+ # elif len(connections.db_config) == 1:
12
+ # connection_name = next(iter(connections.db_config.keys()))
13
+ # connection = connections.get(connection_name)
14
+ # else:
15
+ # raise ParamsError(
16
+ # "You are running with multiple databases, so you should specify"
17
+ # f" connection_name: {list(connections.db_config)}"
18
+ # )
19
+ # 修改后
20
+ if connection_name:
21
+ connection = connections.get(connection_name)
22
+ elif len(connections.db_config) >= 1:
23
+ # 默认选排序第一个
24
+ connection_name = next(iter(connections.db_config.keys()))
25
+ connection = connections.get(connection_name)
26
+ else:
27
+ raise ParamsError(
28
+ "You are running with multiple databases, so you should specify"
29
+ f" connection_name: {list(connections.db_config)}"
30
+ )
31
+ return connection
32
+
33
+
34
+ transactions._get_connection = _get_connection
35
+
36
+
37
+
38
+
39
+
@@ -35,6 +35,7 @@ class IntEnumField(IntEnumFieldInstance):
35
35
  """
36
36
 
37
37
  def __init__(self, enum_list: List[any], start_num=0, **kwargs: Any) -> None:
38
+ self.start_num = start_num
38
39
  self.enum_list = enum_list
39
40
  self.description = kwargs.get("description", "") + " >> " + self.get_description(enum_list, start_num)
40
41
  kwargs["description"] = self.description
@@ -43,8 +44,8 @@ class IntEnumField(IntEnumFieldInstance):
43
44
  @property
44
45
  def constraints(self) -> dict:
45
46
  return {
46
- "ge": 0,
47
- "le": len(self.enum_list),
47
+ "ge": self.start_num,
48
+ "lt": len(self.enum_list) + self.start_num,
48
49
  }
49
50
 
50
51
  def to_db_value(self, value: Any, instance: "Union[Type[Model], Model]") -> Any:
@@ -26,28 +26,17 @@ def get_field_info(value, description="", default_field_type=None) -> (Type, Fie
26
26
  field_type = value.field_type
27
27
  required = True
28
28
  field_info_dict["required"] = required
29
- # if not required and hasattr(value, "default") and not hasattr(value.default, '__call__'):
30
- # field_info_dict.setdefault("default", value.default)
31
29
  if not required and hasattr(value, "default") and not hasattr(value.default, '__call__'):
32
30
  field_info_dict.setdefault("default", value.default)
33
31
  if hasattr(value, "description"):
34
32
  field_info_dict.setdefault("description", description + (value.description or ""))
35
33
  if hasattr(value, "alias"):
36
34
  field_info_dict.setdefault("alias", value.alias)
37
- if hasattr(value, "gt"):
38
- field_info_dict.setdefault("gt", value.gt)
39
- if hasattr(value, "ge"):
40
- field_info_dict.setdefault("ge", value.ge)
41
- if hasattr(value, "lt"):
42
- field_info_dict.setdefault("lt", value.lt)
43
- if hasattr(value, "le"):
44
- field_info_dict.setdefault("le", value.le)
45
- if hasattr(value, "min_length"):
46
- field_info_dict.setdefault("min_length", value.min_length)
47
- if hasattr(value, "max_length"):
48
- field_info_dict.setdefault("max_length", value.max_length)
49
- if hasattr(value, "regex"):
50
- field_info_dict.setdefault("regex", value.regex)
35
+ if hasattr(value, 'constraints'):
36
+ constraints = getattr(value, 'constraints')
37
+ if constraints:
38
+ for key, val in constraints.items():
39
+ field_info_dict.setdefault(key, val)
51
40
  return field_type, FieldInfo(**field_info_dict)
52
41
 
53
42
 
@@ -89,7 +89,7 @@ class SettingsModel(BaseModel):
89
89
  :return:
90
90
  """
91
91
  data_dict = {}
92
- if path:
92
+ if path and path != "application.yaml":
93
93
  if not os.path.isfile(path):
94
94
  raise ValidationException(f"指定哦欸之文件【{path}】不存在")
95
95
  if str(path).endswith('.yaml'):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastgenerateapi
3
- Version: 1.2.4
3
+ Version: 1.2.5
4
4
  Summary: FastAPIView Class View
5
5
  Author: ShiLiang
6
6
  Author-email: 2509144896@qq.com
@@ -64,6 +64,7 @@ fastgenerateapi/fastapi_utils/__init__.py
64
64
  fastgenerateapi/fastapi_utils/all.py
65
65
  fastgenerateapi/fastapi_utils/param_utils.py
66
66
  fastgenerateapi/fastapi_utils/response_utils.py
67
+ fastgenerateapi/fastapi_utils/tortoise_utils.py
67
68
  fastgenerateapi/model/__init__.py
68
69
  fastgenerateapi/model/base_model.py
69
70
  fastgenerateapi/my_fields/__init__.py
File without changes