fastgenerateapi 1.1.14__tar.gz → 1.1.15__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.

Files changed (114) hide show
  1. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/PKG-INFO +2 -2
  2. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/README.md +1 -1
  3. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/__version__.py +1 -1
  4. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/base_view.py +19 -19
  5. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/get_one_view.py +1 -1
  6. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/mixin/base_mixin.py +2 -1
  7. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/update_view.py +1 -1
  8. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/schemas_factory/common_function.py +5 -2
  9. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi.egg-info/PKG-INFO +2 -2
  10. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/LICENSE +0 -0
  11. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/__init__.py +0 -0
  12. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/__init__.py +0 -0
  13. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/api_view.py +0 -0
  14. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/create_view.py +0 -0
  15. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/delete_filter_view.py +0 -0
  16. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/delete_tree_view.py +0 -0
  17. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/delete_view.py +0 -0
  18. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/get_all_view.py +0 -0
  19. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/get_relation_view.py +0 -0
  20. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/get_tree_view.py +0 -0
  21. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/mixin/__init__.py +0 -0
  22. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/mixin/dbmodel_mixin.py +0 -0
  23. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/mixin/get_mixin.py +0 -0
  24. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/mixin/response_mixin.py +0 -0
  25. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/mixin/save_mixin.py +0 -0
  26. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/mixin/tool_mixin.py +0 -0
  27. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/mixin/utils/__init__.py +0 -0
  28. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/mixin/utils/docx_util.py +0 -0
  29. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/mixin/utils/file_util.py +0 -0
  30. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/mixin/utils/pdf_util.py +0 -0
  31. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/mixin/utils/xlsx_util.py +0 -0
  32. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/mixin/utils/zip_util.py +0 -0
  33. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/sql_get_view.py +0 -0
  34. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/switch_view.py +0 -0
  35. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/api_view/update_relation_view.py +0 -0
  36. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/cache/__init__.py +0 -0
  37. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/cache/cache_decorator.py +0 -0
  38. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/cache/key_builder.py +0 -0
  39. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/channel/__init__.py +0 -0
  40. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/channel/connection_manager.py +0 -0
  41. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/channel/consumer.py +0 -0
  42. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/channel/websocket_view.py +0 -0
  43. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/controller/__init__.py +0 -0
  44. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/controller/filter_controller.py +0 -0
  45. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/controller/router_controller.py +0 -0
  46. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/controller/rpc_controller.py +0 -0
  47. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/controller/search_controller.py +0 -0
  48. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/controller/ws_controller.py +0 -0
  49. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/data_type/__init__.py +0 -0
  50. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/data_type/data_type.py +0 -0
  51. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/data_type/mysql_data_type.py +0 -0
  52. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/deps/__init__.py +0 -0
  53. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/deps/filter_params_deps.py +0 -0
  54. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/deps/paginator_deps.py +0 -0
  55. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/deps/tree_params_deps.py +0 -0
  56. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/example/__init__.py +0 -0
  57. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/example/models.py +0 -0
  58. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/example/routers.py +0 -0
  59. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/example/schemas.py +0 -0
  60. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/example/views.py +0 -0
  61. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/fastapi_utils/__init__.py +0 -0
  62. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/fastapi_utils/all.py +0 -0
  63. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/fastapi_utils/param_utils.py +0 -0
  64. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/fastapi_utils/response_utils.py +0 -0
  65. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/model/__init__.py +0 -0
  66. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/model/base_model.py +0 -0
  67. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/my_fields/__init__.py +0 -0
  68. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/my_fields/aes_field.py +0 -0
  69. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/my_fields/enum_field.py +0 -0
  70. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/my_fields/pk_field.py +0 -0
  71. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/my_fields/pwd_field.py +0 -0
  72. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/my_fields/soft_delete_field.py +0 -0
  73. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/my_fields/validator.py +0 -0
  74. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/pydantic_utils/__init__.py +0 -0
  75. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/pydantic_utils/base_model.py +0 -0
  76. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/pydantic_utils/base_settings.py +0 -0
  77. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/pydantic_utils/json_encoders.py +0 -0
  78. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/schemas_factory/__init__.py +0 -0
  79. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/schemas_factory/common_schema_factory.py +0 -0
  80. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/schemas_factory/create_schema_factory.py +0 -0
  81. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/schemas_factory/filter_schema_factory.py +0 -0
  82. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/schemas_factory/get_all_schema_factory.py +0 -0
  83. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/schemas_factory/get_one_schema_factory.py +0 -0
  84. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/schemas_factory/get_relation_schema_factory.py +0 -0
  85. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/schemas_factory/get_tree_schema_factory.py +0 -0
  86. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/schemas_factory/response_factory.py +0 -0
  87. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/schemas_factory/sql_get_all_schema_factory.py +0 -0
  88. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/schemas_factory/update_schema_factory.py +0 -0
  89. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/settings/__init__.py +0 -0
  90. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/settings/all_settings.py +0 -0
  91. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/settings/app_settings.py +0 -0
  92. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/settings/db_settings.py +0 -0
  93. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/settings/file_settings.py +0 -0
  94. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/settings/jwt_settings.py +0 -0
  95. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/settings/otlp_settings.py +0 -0
  96. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/settings/redis_settings.py +0 -0
  97. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/settings/sms_settings.py +0 -0
  98. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/settings/system_settings.py +0 -0
  99. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/utils/__init__.py +0 -0
  100. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/utils/aes.py +0 -0
  101. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/utils/auto_discover.py +0 -0
  102. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/utils/exception.py +0 -0
  103. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/utils/file_utils.py +0 -0
  104. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/utils/pwd_utils.py +0 -0
  105. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/utils/ramdom_utils.py +0 -0
  106. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/utils/snowflake.py +0 -0
  107. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/utils/str_util.py +0 -0
  108. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi/utils/swagger_to_js.py +0 -0
  109. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi.egg-info/SOURCES.txt +0 -0
  110. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi.egg-info/dependency_links.txt +0 -0
  111. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/fastgenerateapi.egg-info/top_level.txt +0 -0
  112. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/script/__init__.py +0 -0
  113. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/setup.cfg +0 -0
  114. {fastgenerateapi-1.1.14 → fastgenerateapi-1.1.15}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastgenerateapi
3
- Version: 1.1.14
3
+ Version: 1.1.15
4
4
  Summary: FastAPIView Class View
5
5
  Author: ShiLiang
6
6
  Author-email: 2509144896@qq.com
@@ -25,7 +25,7 @@ License-File: LICENSE
25
25
 
26
26
  #### 版本说明
27
27
  [pydantic-v2]
28
- 稳定版本:v1.1.13+
28
+ 稳定版本:v1.1.15+
29
29
  建议python版本:3.9+
30
30
  推荐fastapi版本:0.103.2+
31
31
  推荐pydantic版本:2.11.5+
@@ -7,7 +7,7 @@
7
7
 
8
8
  #### 版本说明
9
9
  [pydantic-v2]
10
- 稳定版本:v1.1.13+
10
+ 稳定版本:v1.1.15+
11
11
  建议python版本:3.9+
12
12
  推荐fastapi版本:0.103.2+
13
13
  推荐pydantic版本:2.11.5+
@@ -8,7 +8,7 @@
8
8
  # d8888P
9
9
 
10
10
 
11
- VERSION = (1, 1, 14)
11
+ VERSION = (1, 1, 15)
12
12
 
13
13
  __version__ = '.'.join(map(str, VERSION))
14
14
 
@@ -58,11 +58,10 @@ class BaseView(BaseMixin, ResponseMixin, ToolMixin, DBModelMixin):
58
58
 
59
59
  return self.get_active_queryset(self.model_class)
60
60
 
61
- def get_active_queryset(self, model_class: Union[Type[Model], QuerySet, None] = None) -> QuerySet:
61
+ @staticmethod
62
+ def get_active_queryset(model_class: Union[Type[Model], QuerySet, None] = None) -> QuerySet:
62
63
  if not model_class:
63
- if not self.model_class:
64
- return self.error(msg="model_class not allow None")
65
- model_class = self.model_class
64
+ raise ResponseMixin.error(f"model_class not allow None")
66
65
  delete_filter_dict = {settings.app_settings.WHETHER_DELETE_FIELD: True}
67
66
  if settings.app_settings.DELETE_FIELD_TYPE == "time":
68
67
  delete_filter_dict = {settings.app_settings.WHETHER_DELETE_FIELD: 0}
@@ -76,26 +75,26 @@ class BaseView(BaseMixin, ResponseMixin, ToolMixin, DBModelMixin):
76
75
  return self.error(msg="relation_model_class not allow None")
77
76
  return self.get_active_queryset(self.relation_model_class)
78
77
 
79
- async def get_object(self, pk, model_class=None, is_with_prefetch=False):
80
- if model_class:
81
- queryset = self.get_active_queryset(model_class).filter(id=pk)
82
- else:
83
- queryset = self.queryset.filter(id=pk)
78
+ @classmethod
79
+ async def get_object(cls, pk, model_class, is_with_prefetch=False):
80
+ queryset = cls.get_active_queryset(model_class).filter(id=pk)
84
81
  if is_with_prefetch:
85
- queryset = queryset.prefetch_related(*self.prefetch_related_fields.keys())
82
+ queryset = queryset.prefetch_related(*cls.prefetch_related_fields.keys())
86
83
  model = await queryset.first()
87
84
  if model:
88
85
  return model
89
86
  else:
90
87
  raise NOT_FOUND
91
88
 
92
- def _delete_value(self):
89
+ @staticmethod
90
+ def _delete_value():
93
91
  result = False
94
92
  if settings.app_settings.DELETE_FIELD_TYPE == "time":
95
93
  result = int(time.time() * 1000)
96
94
  return result
97
95
 
98
- async def delete_queryset(self, queryset: QuerySet):
96
+ @staticmethod
97
+ async def delete_queryset(queryset: QuerySet):
99
98
  """
100
99
  考虑到不一定会集成已有的模型,删除根据是否存在字段来判断
101
100
  :param queryset:
@@ -103,7 +102,7 @@ class BaseView(BaseMixin, ResponseMixin, ToolMixin, DBModelMixin):
103
102
  """
104
103
  if settings.app_settings.WHETHER_DELETE_FIELD in queryset.fields:
105
104
  await queryset.update(**{
106
- settings.app_settings.WHETHER_DELETE_FIELD: self._delete_value()
105
+ settings.app_settings.WHETHER_DELETE_FIELD: BaseView._delete_value()
107
106
  })
108
107
  else:
109
108
  await queryset.delete()
@@ -155,20 +154,21 @@ class BaseView(BaseMixin, ResponseMixin, ToolMixin, DBModelMixin):
155
154
  )
156
155
  return schema.model_validate(model_dict)
157
156
 
157
+ @classmethod
158
158
  async def check_unique_field(
159
- self,
159
+ cls,
160
160
  request_data: Union[BaseModel, Model], # 创建或修改的参数数据
161
161
  model_class: Type[Model], # 数据库模型
162
162
  model: Union[Model, None] = None
163
163
  ):
164
- check_unique_fields = self._get_unique_fields(model_class) + self._get_foreign_key_fields(model_class)
165
- check_unique_together_fields = self._get_unique_together_fields(model_class)
164
+ check_unique_fields = cls._get_unique_fields(model_class) + cls._get_foreign_key_fields(model_class)
165
+ check_unique_together_fields = cls._get_unique_together_fields(model_class)
166
166
  for unique_field in check_unique_fields:
167
167
  if hasattr(request_data, unique_field):
168
168
  if model and getattr(request_data, unique_field) == getattr(model, unique_field):
169
169
  continue
170
170
  if await model_class.filter(**{unique_field: getattr(request_data, unique_field)}).first():
171
- self.fail(msg=f"{self.get_field_description(model_class, unique_field)}已存在相同值:{getattr(request_data, unique_field)}")
171
+ return cls.error(msg=f"{cls.get_field_description(model_class, unique_field)}已存在相同值:{getattr(request_data, unique_field)}")
172
172
  for unique_together_fields in check_unique_together_fields:
173
173
  filter_fields = {}
174
174
  is_equal = True
@@ -193,8 +193,8 @@ class BaseView(BaseMixin, ResponseMixin, ToolMixin, DBModelMixin):
193
193
  if await model_class.filter(**filter_fields).first():
194
194
  if settings.app_settings.WHETHER_DELETE_FIELD in description_fields:
195
195
  description_fields.remove(settings.app_settings.WHETHER_DELETE_FIELD)
196
- return self.error(
197
- msg=f"{self.get_field_description(model_class, description_fields)}已存在相同值:{[filter_fields.get(field) for field in description_fields]}"
196
+ return cls.error(
197
+ msg=f"{cls.get_field_description(model_class, description_fields)}已存在相同值:{[filter_fields.get(field) for field in description_fields]}"
198
198
  )
199
199
 
200
200
  # @staticmethod
@@ -38,7 +38,7 @@ class GetOneView(BaseView, GetMixin):
38
38
  """
39
39
 
40
40
  async def get_one(self, pk: str, *args, **kwargs):
41
- model = await self.get_object(pk, is_with_prefetch=self.is_with_prefetch)
41
+ model = await self.get_object(pk, self.model_class, is_with_prefetch=self.is_with_prefetch)
42
42
  if self.is_with_prefetch:
43
43
  await self.setattr_model(model, prefetch_related_fields=self.prefetch_related_fields, *args, **kwargs)
44
44
 
@@ -52,7 +52,8 @@ class BaseMixin(Generic[T], APIRouter, ABC):
52
52
  # if hasattr(self, "_handler_sql_get_all_settings"):
53
53
  # getattr(self, "_handler_sql_get_all_settings")()
54
54
 
55
- def get_base_filter(self, fields: list, schema: Optional[PYDANTIC_SCHEMA] = None) -> list:
55
+ @staticmethod
56
+ def get_base_filter(fields: list, schema: Optional[PYDANTIC_SCHEMA] = None) -> list:
56
57
  bast_filter_list = []
57
58
  if fields:
58
59
  bast_filter_list += [BaseFilter(field) if not isinstance(field, BaseFilter) else field for field in fields]
@@ -29,7 +29,7 @@ class UpdateView(BaseView, SaveMixin):
29
29
 
30
30
  @atomic()
31
31
  async def update(self, pk: str, request_data, *args, **kwargs):
32
- model = await self.get_object(pk)
32
+ model = await self.get_object(pk, self.model_class)
33
33
 
34
34
  request_data = await self.set_update_fields(request_data=request_data, *args, **kwargs)
35
35
 
@@ -11,6 +11,8 @@ from fastgenerateapi.settings.all_settings import settings
11
11
  def get_field_info(value, description="", default_field_type=None) -> (Type, FieldInfo):
12
12
  if value.pk:
13
13
  return str, FieldInfo()
14
+
15
+ required = False
14
16
  if value.field_type is None:
15
17
  if default_field_type:
16
18
  field_type = Optional[default_field_type]
@@ -21,8 +23,9 @@ def get_field_info(value, description="", default_field_type=None) -> (Type, Fie
21
23
  field_type = Optional[value.field_type]
22
24
  else:
23
25
  field_type = value.field_type
24
- field_info_dict = {}
25
- if hasattr(value, "default") and not hasattr(value.default, '__call__'):
26
+ required = True
27
+ field_info_dict = {"required": required}
28
+ if not required and hasattr(value, "default") and not hasattr(value.default, '__call__'):
26
29
  field_info_dict.setdefault("default", value.default)
27
30
  if hasattr(value, "description"):
28
31
  field_info_dict.setdefault("description", description + (value.description or ""))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastgenerateapi
3
- Version: 1.1.14
3
+ Version: 1.1.15
4
4
  Summary: FastAPIView Class View
5
5
  Author: ShiLiang
6
6
  Author-email: 2509144896@qq.com
@@ -25,7 +25,7 @@ License-File: LICENSE
25
25
 
26
26
  #### 版本说明
27
27
  [pydantic-v2]
28
- 稳定版本:v1.1.13+
28
+ 稳定版本:v1.1.15+
29
29
  建议python版本:3.9+
30
30
  推荐fastapi版本:0.103.2+
31
31
  推荐pydantic版本:2.11.5+