fastgenerateapi 1.2.6__tar.gz → 1.2.7__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.6 → fastgenerateapi-1.2.7}/PKG-INFO +1 -1
  2. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/__version__.py +1 -1
  3. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/schemas_factory/create_schema_factory.py +36 -24
  4. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/schemas_factory/get_all_schema_factory.py +44 -29
  5. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/schemas_factory/get_one_schema_factory.py +44 -26
  6. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/schemas_factory/update_schema_factory.py +34 -24
  7. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi.egg-info/PKG-INFO +1 -1
  8. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/LICENSE +0 -0
  9. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/README.md +0 -0
  10. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/__init__.py +0 -0
  11. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/__init__.py +0 -0
  12. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/api_view.py +0 -0
  13. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/base_view.py +0 -0
  14. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/create_view.py +0 -0
  15. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/delete_filter_view.py +0 -0
  16. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/delete_tree_view.py +0 -0
  17. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/delete_view.py +0 -0
  18. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/get_all_view.py +0 -0
  19. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/get_one_view.py +0 -0
  20. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/get_relation_view.py +0 -0
  21. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/get_tree_view.py +0 -0
  22. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/mixin/__init__.py +0 -0
  23. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/mixin/base_mixin.py +0 -0
  24. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/mixin/dbmodel_mixin.py +0 -0
  25. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/mixin/get_mixin.py +0 -0
  26. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/mixin/response_mixin.py +0 -0
  27. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/mixin/save_mixin.py +0 -0
  28. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/mixin/tool_mixin.py +0 -0
  29. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/mixin/utils/__init__.py +0 -0
  30. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/mixin/utils/docx_util.py +0 -0
  31. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/mixin/utils/file_util.py +0 -0
  32. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/mixin/utils/pdf_util.py +0 -0
  33. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/mixin/utils/xlsx_util.py +0 -0
  34. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/mixin/utils/zip_util.py +0 -0
  35. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/sql_get_view.py +0 -0
  36. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/switch_view.py +0 -0
  37. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/update_relation_view.py +0 -0
  38. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/api_view/update_view.py +0 -0
  39. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/cache/__init__.py +0 -0
  40. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/cache/cache_decorator.py +0 -0
  41. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/cache/key_builder.py +0 -0
  42. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/channel/__init__.py +0 -0
  43. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/channel/connection_manager.py +0 -0
  44. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/channel/consumer.py +0 -0
  45. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/channel/websocket_view.py +0 -0
  46. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/controller/__init__.py +0 -0
  47. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/controller/filter_controller.py +0 -0
  48. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/controller/router_controller.py +0 -0
  49. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/controller/rpc_controller.py +0 -0
  50. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/controller/search_controller.py +0 -0
  51. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/controller/ws_controller.py +0 -0
  52. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/data_type/__init__.py +0 -0
  53. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/data_type/data_type.py +0 -0
  54. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/data_type/mysql_data_type.py +0 -0
  55. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/deps/__init__.py +0 -0
  56. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/deps/filter_params_deps.py +0 -0
  57. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/deps/paginator_deps.py +0 -0
  58. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/deps/tree_params_deps.py +0 -0
  59. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/example/__init__.py +0 -0
  60. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/example/models.py +0 -0
  61. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/example/routers.py +0 -0
  62. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/example/schemas.py +0 -0
  63. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/example/views.py +0 -0
  64. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/fastapi_utils/__init__.py +0 -0
  65. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/fastapi_utils/all.py +0 -0
  66. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/fastapi_utils/param_utils.py +0 -0
  67. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/fastapi_utils/response_utils.py +0 -0
  68. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/fastapi_utils/tortoise_utils.py +0 -0
  69. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/model/__init__.py +0 -0
  70. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/model/base_model.py +0 -0
  71. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/my_fields/__init__.py +0 -0
  72. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/my_fields/aes_field.py +0 -0
  73. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/my_fields/enum_field.py +0 -0
  74. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/my_fields/pk_field.py +0 -0
  75. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/my_fields/pwd_field.py +0 -0
  76. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/my_fields/soft_delete_field.py +0 -0
  77. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/my_fields/validator.py +0 -0
  78. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/pydantic_utils/__init__.py +0 -0
  79. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/pydantic_utils/base_model.py +0 -0
  80. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/pydantic_utils/base_settings.py +0 -0
  81. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/pydantic_utils/json_encoders.py +0 -0
  82. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/schemas_factory/__init__.py +0 -0
  83. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/schemas_factory/common_function.py +0 -0
  84. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/schemas_factory/common_schema_factory.py +0 -0
  85. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/schemas_factory/filter_schema_factory.py +0 -0
  86. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/schemas_factory/get_relation_schema_factory.py +0 -0
  87. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/schemas_factory/get_tree_schema_factory.py +0 -0
  88. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/schemas_factory/response_factory.py +0 -0
  89. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/schemas_factory/sql_get_all_schema_factory.py +0 -0
  90. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/settings/__init__.py +0 -0
  91. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/settings/all_settings.py +0 -0
  92. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/settings/app_settings.py +0 -0
  93. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/settings/db_settings.py +0 -0
  94. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/settings/etcd_settings.py +0 -0
  95. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/settings/file_settings.py +0 -0
  96. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/settings/jwt_settings.py +0 -0
  97. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/settings/otlp_settings.py +0 -0
  98. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/settings/redis_settings.py +0 -0
  99. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/settings/sms_settings.py +0 -0
  100. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/settings/system_settings.py +0 -0
  101. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/utils/__init__.py +0 -0
  102. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/utils/aes.py +0 -0
  103. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/utils/auto_discover.py +0 -0
  104. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/utils/exception.py +0 -0
  105. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/utils/file_utils.py +0 -0
  106. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/utils/pwd_utils.py +0 -0
  107. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/utils/ramdom_utils.py +0 -0
  108. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/utils/snowflake.py +0 -0
  109. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/utils/str_util.py +0 -0
  110. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi/utils/swagger_to_js.py +0 -0
  111. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi.egg-info/SOURCES.txt +0 -0
  112. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi.egg-info/dependency_links.txt +0 -0
  113. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/fastgenerateapi.egg-info/top_level.txt +0 -0
  114. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/script/__init__.py +0 -0
  115. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/setup.cfg +0 -0
  116. {fastgenerateapi-1.2.6 → fastgenerateapi-1.2.7}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastgenerateapi
3
- Version: 1.2.6
3
+ Version: 1.2.7
4
4
  Summary: FastAPIView Class View
5
5
  Author: ShiLiang
6
6
  Author-email: 2509144896@qq.com
@@ -8,7 +8,7 @@
8
8
  # d8888P
9
9
 
10
10
 
11
- VERSION = (1, 2, 6)
11
+ VERSION = (1, 2, 7)
12
12
 
13
13
  __version__ = '.'.join(map(str, VERSION))
14
14
 
@@ -17,6 +17,12 @@ def create_schema_factory(
17
17
  extra_include: Union[list, tuple, set] = None,
18
18
  exclude: Union[list, tuple, set] = None,
19
19
  frozen_exclude: Union[list, tuple, set] = ("created_at", "updated_at", "modified_at"),
20
+ pydantic_meta_include: Union[list, tuple, set] = None,
21
+ pydantic_meta_exclude: Optional[bool] = True,
22
+ pydantic_meta_save_include: Optional[bool] = True,
23
+ pydantic_meta_save_exclude: Optional[bool] = True,
24
+ pydantic_meta_create_include: Optional[bool] = True,
25
+ pydantic_meta_create_exclude: Optional[bool] = True,
20
26
  name: Optional[str] = None
21
27
  ) -> Type[T]:
22
28
  """
@@ -65,34 +71,40 @@ def create_schema_factory(
65
71
 
66
72
  include_fields = set()
67
73
  exclude_fields = set()
68
- if hasattr(model_class, "PydanticMeta"):
69
- if hasattr(model_class.PydanticMeta, "include"):
70
- include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.include)
71
- all_fields_info.update(include_fields_dict)
72
- include_fields.update(include_fields_dict.keys())
73
- else:
74
- include_fields.update(all_fields_info.keys())
75
- if hasattr(model_class.PydanticMeta, "exclude"):
76
- exclude_fields.update(model_class.PydanticMeta.exclude)
77
- if hasattr(model_class.PydanticMeta, "save_include"):
78
- save_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.save_include)
79
- all_fields_info.update(save_include_fields_dict)
80
- include_fields.update(save_include_fields_dict.keys())
81
- if hasattr(model_class.PydanticMeta, "create_include"):
82
- create_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.create_include)
83
- all_fields_info.update(create_include_fields_dict)
84
- include_fields.update(create_include_fields_dict.keys())
85
- if hasattr(model_class.PydanticMeta, "save_exclude"):
86
- exclude_fields.update(model_class.PydanticMeta.save_exclude)
87
- if hasattr(model_class.PydanticMeta, "create_exclude"):
88
- exclude_fields.update(model_class.PydanticMeta.create_exclude)
89
- else:
90
- include_fields.update(all_fields_info.keys())
91
-
92
74
  if include:
93
75
  include_fields_dict = get_dict_from_pydanticmeta(model_class, include)
94
76
  all_fields_info.update(include_fields_dict)
95
77
  include_fields.update(include_fields_dict.keys())
78
+ else:
79
+ if hasattr(model_class, "PydanticMeta"):
80
+ if pydantic_meta_include:
81
+ include_fields_dict = get_dict_from_pydanticmeta(model_class, pydantic_meta_include)
82
+ all_fields_info.update(include_fields_dict)
83
+ include_fields.update(include_fields_dict.keys())
84
+ else:
85
+ if hasattr(model_class.PydanticMeta, "include"):
86
+ include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.include)
87
+ all_fields_info.update(include_fields_dict)
88
+ include_fields.update(include_fields_dict.keys())
89
+ else:
90
+ include_fields.update(all_fields_info.keys())
91
+ if pydantic_meta_exclude and hasattr(model_class.PydanticMeta, "exclude"):
92
+ exclude_fields.update(model_class.PydanticMeta.exclude)
93
+ if pydantic_meta_save_include and hasattr(model_class.PydanticMeta, "save_include"):
94
+ save_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.save_include)
95
+ all_fields_info.update(save_include_fields_dict)
96
+ include_fields.update(save_include_fields_dict.keys())
97
+ if pydantic_meta_create_include and hasattr(model_class.PydanticMeta, "create_include"):
98
+ create_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.create_include)
99
+ all_fields_info.update(create_include_fields_dict)
100
+ include_fields.update(create_include_fields_dict.keys())
101
+ if pydantic_meta_save_exclude and hasattr(model_class.PydanticMeta, "save_exclude"):
102
+ exclude_fields.update(model_class.PydanticMeta.save_exclude)
103
+ if pydantic_meta_create_exclude and hasattr(model_class.PydanticMeta, "create_exclude"):
104
+ exclude_fields.update(model_class.PydanticMeta.create_exclude)
105
+ else:
106
+ include_fields.update(all_fields_info.keys())
107
+
96
108
  if extra_include:
97
109
  include_fields_dict = get_dict_from_pydanticmeta(model_class, extra_include)
98
110
  all_fields_info.update(include_fields_dict)
@@ -23,10 +23,22 @@ def get_all_schema_factory(
23
23
  include: Union[list, tuple, set] = None,
24
24
  extra_include: Union[list, tuple, set] = None,
25
25
  exclude: Union[list, tuple, set] = None,
26
+ pydantic_meta_include: Union[list, tuple, set] = None,
27
+ pydantic_meta_exclude: Optional[bool] = True,
28
+ pydantic_meta_get_include: Optional[bool] = True,
29
+ pydantic_meta_get_exclude: Optional[bool] = True,
30
+ pydantic_meta_get_all_include: Optional[bool] = True,
31
+ pydantic_meta_get_all_exclude: Optional[bool] = True,
26
32
  name: Optional[str] = None,
27
33
  ) -> Optional[Type[T]]:
28
34
  """
29
35
  Is used to create a GetAllSchema
36
+ 参数:
37
+ include:会覆盖所有的值
38
+ extra_include:会在原有的值上添加新值
39
+ exclude:排除值
40
+ pydantic_meta_include: 替换 PydanticMeta 下 include 的属性
41
+
30
42
  固定排除 逻辑删除字段
31
43
  会默认添加模型下 PydanticMeta 设置的相关属性
32
44
  - include: 增改详情列表通用,指定包含字段,不指定默认包含所有字段
@@ -74,39 +86,42 @@ def get_all_schema_factory(
74
86
 
75
87
  include_fields = set()
76
88
  exclude_fields = set()
77
- if hasattr(model_class, "PydanticMeta"):
78
- if hasattr(model_class.PydanticMeta, "include"):
79
- include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.include)
80
- all_fields_info.update(include_fields_dict)
81
- include_fields.update(include_fields_dict.keys())
82
- else:
83
- include_fields.update(all_fields_info.keys())
84
- if hasattr(model_class.PydanticMeta, "exclude"):
85
- exclude_fields.update(model_class.PydanticMeta.exclude)
86
-
87
- if hasattr(model_class.PydanticMeta, "get_include"):
88
- get_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.get_include)
89
- all_fields_info.update(get_include_fields_dict)
90
- include_fields.update(get_include_fields_dict.keys())
91
- if hasattr(model_class.PydanticMeta, "get_exclude"):
92
- exclude_fields.update(model_class.PydanticMeta.get_exclude)
93
-
94
- # get_all_include
95
- if hasattr(model_class.PydanticMeta, "get_all_include"):
96
- get_all_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.get_all_include)
97
- all_fields_info.update(get_all_include_fields_dict)
98
- include_fields.update(get_all_include_fields_dict.keys())
99
- # get_all_exclude
100
- if hasattr(model_class.PydanticMeta, "get_all_exclude"):
101
- exclude_fields.update(model_class.PydanticMeta.get_all_exclude)
102
- else:
103
- include_fields.update(all_fields_info.keys())
104
-
105
- # 参数处理
106
89
  if include:
107
90
  include_fields_dict = get_dict_from_pydanticmeta(model_class, include)
108
91
  all_fields_info.update(include_fields_dict)
109
92
  include_fields.update(include_fields_dict.keys())
93
+ else:
94
+ if hasattr(model_class, "PydanticMeta"):
95
+ if pydantic_meta_include:
96
+ include_fields_dict = get_dict_from_pydanticmeta(model_class, pydantic_meta_include)
97
+ all_fields_info.update(include_fields_dict)
98
+ include_fields.update(include_fields_dict.keys())
99
+ else:
100
+ if hasattr(model_class.PydanticMeta, "include"):
101
+ include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.include)
102
+ all_fields_info.update(include_fields_dict)
103
+ include_fields.update(include_fields_dict.keys())
104
+ else:
105
+ include_fields.update(all_fields_info.keys())
106
+ if pydantic_meta_exclude and hasattr(model_class.PydanticMeta, "exclude"):
107
+ exclude_fields.update(model_class.PydanticMeta.exclude)
108
+
109
+ if pydantic_meta_get_include and hasattr(model_class.PydanticMeta, "get_include"):
110
+ get_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.get_include)
111
+ all_fields_info.update(get_include_fields_dict)
112
+ include_fields.update(get_include_fields_dict.keys())
113
+ if pydantic_meta_get_exclude and hasattr(model_class.PydanticMeta, "get_exclude"):
114
+ exclude_fields.update(model_class.PydanticMeta.get_exclude)
115
+
116
+ if pydantic_meta_get_all_include and hasattr(model_class.PydanticMeta, "get_all_include"):
117
+ get_all_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.get_all_include)
118
+ all_fields_info.update(get_all_include_fields_dict)
119
+ include_fields.update(get_all_include_fields_dict.keys())
120
+ if pydantic_meta_get_all_exclude and hasattr(model_class.PydanticMeta, "get_all_exclude"):
121
+ exclude_fields.update(model_class.PydanticMeta.get_all_exclude)
122
+ else:
123
+ include_fields.update(all_fields_info.keys())
124
+
110
125
  if extra_include:
111
126
  include_fields_dict = get_dict_from_pydanticmeta(model_class, extra_include)
112
127
  all_fields_info.update(include_fields_dict)
@@ -16,10 +16,22 @@ def get_one_schema_factory(
16
16
  include: Union[list, tuple, set] = None,
17
17
  extra_include: Union[list, tuple, set] = None,
18
18
  exclude: Union[list, tuple, set] = None,
19
+ pydantic_meta_include: Union[list, tuple, set] = None,
20
+ pydantic_meta_exclude: Optional[bool] = True,
21
+ pydantic_meta_get_include: Optional[bool] = True,
22
+ pydantic_meta_get_exclude: Optional[bool] = True,
23
+ pydantic_meta_get_one_include: Optional[bool] = True,
24
+ pydantic_meta_get_one_exclude: Optional[bool] = True,
19
25
  name: Optional[str] = None
20
26
  ) -> Type[T]:
21
27
  """
22
28
  Is used to create a GetOneSchema
29
+ 参数:
30
+ include:会覆盖所有的值
31
+ extra_include:会在原有的值上添加新值
32
+ exclude:排除新值
33
+ pydantic_meta_include: 替换 PydanticMeta 下 include 的属性
34
+
23
35
  固定排除 逻辑删除字段
24
36
  会默认添加模型下 PydanticMeta 设置的相关属性
25
37
  - include: 增改详情列表通用,指定包含字段,不指定默认包含所有字段
@@ -64,36 +76,42 @@ def get_one_schema_factory(
64
76
 
65
77
  include_fields = set()
66
78
  exclude_fields = set()
67
- if hasattr(model_class, "PydanticMeta"):
68
- if hasattr(model_class.PydanticMeta, "include"):
69
- include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.include)
70
- all_fields_info.update(include_fields_dict)
71
- include_fields.update(include_fields_dict.keys())
72
- else:
73
- include_fields.update(all_fields_info.keys())
74
- if hasattr(model_class.PydanticMeta, "exclude"):
75
- exclude_fields.update(model_class.PydanticMeta.exclude)
76
-
77
- if hasattr(model_class.PydanticMeta, "get_include"):
78
- get_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.get_include)
79
- all_fields_info.update(get_include_fields_dict)
80
- include_fields.update(get_include_fields_dict.keys())
81
- if hasattr(model_class.PydanticMeta, "get_exclude"):
82
- exclude_fields.update(model_class.PydanticMeta.get_exclude)
83
-
84
- if hasattr(model_class.PydanticMeta, "get_one_include"):
85
- get_one_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.get_one_include)
86
- all_fields_info.update(get_one_include_fields_dict)
87
- include_fields.update(get_one_include_fields_dict.keys())
88
- if hasattr(model_class.PydanticMeta, "get_one_exclude"):
89
- exclude_fields.update(model_class.PydanticMeta.get_one_exclude)
90
- else:
91
- include_fields.update(all_fields_info.keys())
92
-
93
79
  if include:
94
80
  include_fields_dict = get_dict_from_pydanticmeta(model_class, include)
95
81
  all_fields_info.update(include_fields_dict)
96
82
  include_fields.update(include_fields_dict.keys())
83
+ else:
84
+ if hasattr(model_class, "PydanticMeta"):
85
+ if pydantic_meta_include:
86
+ include_fields_dict = get_dict_from_pydanticmeta(model_class, pydantic_meta_include)
87
+ all_fields_info.update(include_fields_dict)
88
+ include_fields.update(include_fields_dict.keys())
89
+ else:
90
+ if hasattr(model_class.PydanticMeta, "include"):
91
+ include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.include)
92
+ all_fields_info.update(include_fields_dict)
93
+ include_fields.update(include_fields_dict.keys())
94
+ else:
95
+ include_fields.update(all_fields_info.keys())
96
+ if pydantic_meta_exclude and hasattr(model_class.PydanticMeta, "exclude"):
97
+ exclude_fields.update(model_class.PydanticMeta.exclude)
98
+
99
+ if pydantic_meta_get_include and hasattr(model_class.PydanticMeta, "get_include"):
100
+ get_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.get_include)
101
+ all_fields_info.update(get_include_fields_dict)
102
+ include_fields.update(get_include_fields_dict.keys())
103
+ if pydantic_meta_get_exclude and hasattr(model_class.PydanticMeta, "get_exclude"):
104
+ exclude_fields.update(model_class.PydanticMeta.get_exclude)
105
+
106
+ if pydantic_meta_get_one_include and hasattr(model_class.PydanticMeta, "get_one_include"):
107
+ get_one_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.get_one_include)
108
+ all_fields_info.update(get_one_include_fields_dict)
109
+ include_fields.update(get_one_include_fields_dict.keys())
110
+ if pydantic_meta_get_one_exclude and hasattr(model_class.PydanticMeta, "get_one_exclude"):
111
+ exclude_fields.update(model_class.PydanticMeta.get_one_exclude)
112
+ else:
113
+ include_fields.update(all_fields_info.keys())
114
+
97
115
  if extra_include:
98
116
  include_fields_dict = get_dict_from_pydanticmeta(model_class, extra_include)
99
117
  all_fields_info.update(include_fields_dict)
@@ -17,6 +17,12 @@ def update_schema_factory(
17
17
  extra_include: Union[list, tuple, set] = None,
18
18
  exclude: Union[list, tuple, set] = None,
19
19
  frozen_exclude: Union[list, tuple, set] = ("created_at", "updated_at", "modified_at"),
20
+ pydantic_meta_include: Union[list, tuple, set] = None,
21
+ pydantic_meta_exclude: Optional[bool] = True,
22
+ pydantic_meta_save_include: Optional[bool] = True,
23
+ pydantic_meta_save_exclude: Optional[bool] = True,
24
+ pydantic_meta_update_include: Optional[bool] = True,
25
+ pydantic_meta_update_exclude: Optional[bool] = True,
20
26
  name: Optional[str] = None
21
27
  ) -> Type[T]:
22
28
  """
@@ -65,34 +71,38 @@ def update_schema_factory(
65
71
 
66
72
  include_fields = set()
67
73
  exclude_fields = set()
68
- if hasattr(model_class, "PydanticMeta"):
69
- if hasattr(model_class.PydanticMeta, "include"):
70
- include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.include)
71
- all_fields_info.update(include_fields_dict)
72
- include_fields.update(include_fields_dict.keys())
73
- else:
74
- include_fields.update(all_fields_info.keys())
75
- if hasattr(model_class.PydanticMeta, "exclude"):
76
- exclude_fields.update(model_class.PydanticMeta.exclude)
77
- if hasattr(model_class.PydanticMeta, "save_include"):
78
- save_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.save_include)
79
- all_fields_info.update(save_include_fields_dict)
80
- include_fields.update(save_include_fields_dict.keys())
81
- if hasattr(model_class.PydanticMeta, "update_include"):
82
- update_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.update_include)
83
- all_fields_info.update(update_include_fields_dict)
84
- include_fields.update(update_include_fields_dict.keys())
85
- if hasattr(model_class.PydanticMeta, "save_exclude"):
86
- exclude_fields.update(model_class.PydanticMeta.save_exclude)
87
- if hasattr(model_class.PydanticMeta, "update_exclude"):
88
- exclude_fields.update(model_class.PydanticMeta.update_exclude)
89
- else:
90
- include_fields.update(all_fields_info.keys())
91
-
92
74
  if include:
93
75
  include_fields_dict = get_dict_from_pydanticmeta(model_class, include)
94
76
  all_fields_info.update(include_fields_dict)
95
77
  include_fields.update(include_fields_dict.keys())
78
+ else:
79
+ if hasattr(model_class, "PydanticMeta"):
80
+ if pydantic_meta_include:
81
+ include_fields_dict = get_dict_from_pydanticmeta(model_class, pydantic_meta_include)
82
+ all_fields_info.update(include_fields_dict)
83
+ include_fields.update(include_fields_dict.keys())
84
+ else:
85
+ if hasattr(model_class.PydanticMeta, "include"):
86
+ include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.include)
87
+ all_fields_info.update(include_fields_dict)
88
+ include_fields.update(include_fields_dict.keys())
89
+ else:
90
+ include_fields.update(all_fields_info.keys())
91
+ if pydantic_meta_exclude and hasattr(model_class.PydanticMeta, "exclude"):
92
+ exclude_fields.update(model_class.PydanticMeta.exclude)
93
+ if pydantic_meta_save_include and hasattr(model_class.PydanticMeta, "save_include"):
94
+ save_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.save_include)
95
+ all_fields_info.update(save_include_fields_dict)
96
+ include_fields.update(save_include_fields_dict.keys())
97
+ if pydantic_meta_update_include and hasattr(model_class.PydanticMeta, "update_include"):
98
+ update_include_fields_dict = get_dict_from_pydanticmeta(model_class, model_class.PydanticMeta.update_include)
99
+ all_fields_info.update(update_include_fields_dict)
100
+ include_fields.update(update_include_fields_dict.keys())
101
+ if pydantic_meta_save_exclude and hasattr(model_class.PydanticMeta, "save_exclude"):
102
+ exclude_fields.update(model_class.PydanticMeta.save_exclude)
103
+ if pydantic_meta_update_exclude and hasattr(model_class.PydanticMeta, "update_exclude"):
104
+ exclude_fields.update(model_class.PydanticMeta.update_exclude)
105
+
96
106
  if extra_include:
97
107
  include_fields_dict = get_dict_from_pydanticmeta(model_class, extra_include)
98
108
  all_fields_info.update(include_fields_dict)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastgenerateapi
3
- Version: 1.2.6
3
+ Version: 1.2.7
4
4
  Summary: FastAPIView Class View
5
5
  Author: ShiLiang
6
6
  Author-email: 2509144896@qq.com
File without changes