fastgenerateapi 0.0.26__py2.py3-none-any.whl → 0.0.27__py2.py3-none-any.whl

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.

@@ -8,7 +8,7 @@
8
8
  # d8888P
9
9
 
10
10
 
11
- VERSION = (0, 0, 26)
11
+ VERSION = (0, 0, 27)
12
12
 
13
13
  __version__ = '.'.join(map(str, VERSION))
14
14
 
@@ -28,19 +28,21 @@ class DeleteView(BaseView):
28
28
  queryset = await self.get_del_queryset(request_data=request_data, *args, **kwargs)
29
29
  await self.delete_queryset(queryset)
30
30
 
31
- # if unique_fields := self._get_unique_fields(self.model_class):
32
- # for model in await queryset:
33
- # model.is_active = False
34
- # for field in unique_fields:
35
- # try:
36
- # setattr(model, field, getattr(model, field) + f"__{int(time.time() * 1000)}")
37
- # except Exception as e:
38
- # setattr(model, field, getattr(model, field) + f"__{int(time.time() * 1000)}")
39
- # await model.save()
40
- # else:
41
- # await queryset.update(is_active=False)
42
31
  return
43
32
 
33
+ # 弃用思路:唯一字段加时间戳
34
+ # if unique_fields := self._get_unique_fields(self.model_class):
35
+ # for model in await queryset:
36
+ # model.is_active = False
37
+ # for field in unique_fields:
38
+ # try:
39
+ # setattr(model, field, getattr(model, field) + f"__{int(time.time() * 1000)}")
40
+ # except Exception as e:
41
+ # setattr(model, field, getattr(model, field) + f"__{int(time.time() * 1000)}")
42
+ # await model.save()
43
+ # else:
44
+ # await queryset.update(is_active=False)
45
+
44
46
  async def get_del_queryset(self, request_data, *args, **kwargs):
45
47
  queryset = self.queryset.filter(id__in=request_data.id_list)
46
48
  return queryset
@@ -130,6 +130,9 @@ class GetAllView(BaseView, GetMixin):
130
130
  settings.app_settings.LIST_RESPONSE_FIELD: data_list,
131
131
  })
132
132
 
133
+ def get_page_list(self, page_result: BaseModel):
134
+ return getattr(page_result, settings.app_settings.LIST_RESPONSE_FIELD, [])
135
+
133
136
  def _get_all_decorator(self, *args: Any, **kwargs: Any) -> DecoratedCallable:
134
137
  @get_all_cache_decorator(cache(expire=settings.app_settings.CACHE_GET_ALL_SECONDS, coder=JsonCoder, key_builder=generate_key_builder))
135
138
  async def route(
@@ -84,9 +84,12 @@ class DBModelMixin:
84
84
  return []
85
85
 
86
86
  @staticmethod
87
- def _get_foreign_key_fields(model_class: Type[Model] = None) -> List[str]:
87
+ def _get_foreign_key_fields(model_class: Type[Model] = None, is_with_id: bool = True) -> List[str]:
88
88
  try:
89
- return list(model_class._meta.fk_fields)
89
+ fields = list(model_class._meta.fk_fields)
90
+ if is_with_id:
91
+ fields = [field + "_id" for field in fields]
92
+ return fields
90
93
  except:
91
94
  return []
92
95
 
@@ -51,6 +51,8 @@ class IntEnumField(IntEnumFieldInstance):
51
51
  Converts from the Python type to the DB type.
52
52
  """
53
53
  if value is not None:
54
+ if isinstance(value, IntEnumClass):
55
+ value = value.value
54
56
  value = int(value) # pylint: disable=E1102
55
57
  if value > len(self.enum_list) or 0 > value:
56
58
  raise HTTPException(detail=f"枚举值:{value} 校验失败。【{self.description}】", status_code=422)
@@ -125,6 +127,9 @@ class IntEnumClass:
125
127
  def __str__(self):
126
128
  return f"{self.value}"
127
129
 
130
+ def __int__(self):
131
+ return self.value
132
+
128
133
  @property
129
134
  def name(self):
130
135
  try:
@@ -29,10 +29,8 @@ class PrimaryKeyField(Field[str], str):
29
29
  allows_generated = True
30
30
 
31
31
  def __init__(self, **kwargs: Any) -> None:
32
- kwargs["generated"] = False
33
- kwargs["unique"] = True
34
- kwargs["description"] = "主键"
35
- kwargs["default"] = worker.get_id
32
+ kwargs.setdefault("description", "主键")
33
+ kwargs.setdefault("default", worker.get_id)
36
34
  super().__init__(pk=True, **kwargs)
37
35
 
38
36
  def to_db_value(self, value: Any, instance: "Union[Type[Model], Model]") -> Any:
@@ -43,7 +43,7 @@ def update_schema_factory(
43
43
  all_fields_info.update(update_include_fields_dict)
44
44
  include_fields.update(update_include_fields_dict.keys())
45
45
  if hasattr(model_class.PydanticMeta, "save_exclude"):
46
- exclude_fields.update(model_class.PydanticMeta.update_exclude)
46
+ exclude_fields.update(model_class.PydanticMeta.save_exclude)
47
47
  if hasattr(model_class.PydanticMeta, "update_exclude"):
48
48
  exclude_fields.update(model_class.PydanticMeta.update_exclude)
49
49
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastgenerateapi
3
- Version: 0.0.26
3
+ Version: 0.0.27
4
4
  Summary: FastAPIView Class View
5
5
  Author: ShiLiang
6
6
  Author-email: 2509144896@qq.com
@@ -1,13 +1,13 @@
1
1
  fastgenerateapi/__init__.py,sha256=70KtJJxhQcntZJTt2ilIR2pvokI4X6Xp200nHGZ5dkU,1264
2
- fastgenerateapi/__version__.py,sha256=8Y5ui80id1BS57BcGr_KGOGJN0kvqVqW_BRkGxzU_es,497
2
+ fastgenerateapi/__version__.py,sha256=hNlrB8vfijMOVmLkR6tG51VWVhHxOtpSW1pkaoRy1nc,497
3
3
  fastgenerateapi/api_view/__init__.py,sha256=zkaTX5JxsNfjF-dFeEbHfUB58vhPMjm6Iiqx9HgJOrY,14
4
4
  fastgenerateapi/api_view/api_view.py,sha256=mfD8GB-hnyI2XO3tkSOlEa2FfBLdq0_Wqvp8gFrXFKU,1160
5
5
  fastgenerateapi/api_view/base_view.py,sha256=EvEVPJIkJNQct-s_DtN1YdRA3r97RDRYmLsPGbZOPzU,9245
6
6
  fastgenerateapi/api_view/create_view.py,sha256=q8vlTvJfjmhqLKA4WAiIzpSSgKEvo96Ftkaa2cGwUSo,4409
7
7
  fastgenerateapi/api_view/delete_filter_view.py,sha256=QSrFEjYmhCkSJIZw6XYl7elJr4PycxqkhMmT1D8JjJk,2479
8
8
  fastgenerateapi/api_view/delete_tree_view.py,sha256=11kdktfLuUAnI381_uVoBw_PwCTquigQjADG7JPJEuo,3695
9
- fastgenerateapi/api_view/delete_view.py,sha256=BuZ4hZ1wSGHBlWTS4wKFA1w5IfEaFDdgzUFvHKv3WBo,3104
10
- fastgenerateapi/api_view/get_all_view.py,sha256=bokoPbB1yPZqxVuH8gQSz_2CrMyS3aQBNCMFgZTAccw,8313
9
+ fastgenerateapi/api_view/delete_view.py,sha256=KVgUr_8ElLKUHg282Ew7A61zLNAtckUJhrAQ4CyliSg,3109
10
+ fastgenerateapi/api_view/get_all_view.py,sha256=pwnvxxrstVnnfnPFYrgrAbBbUYQ__WvAg-tW2f9inq0,8453
11
11
  fastgenerateapi/api_view/get_one_view.py,sha256=BhhQMdcD85W2FgGiJBCdQfI1TYldVAGREK1ZQFPXjnc,3359
12
12
  fastgenerateapi/api_view/get_relation_view.py,sha256=h8D6N71L51Ifu2SkM3DcmYIICQTprrNmdW1Wbl_qeoM,9583
13
13
  fastgenerateapi/api_view/get_tree_view.py,sha256=VRg9xqBcxXfrHrDeOUshsbEuOX8UExvB-WMWaa9-Ad8,9129
@@ -17,7 +17,7 @@ fastgenerateapi/api_view/update_relation_view.py,sha256=UvCdnhazEein2jSRx-KFbMe7
17
17
  fastgenerateapi/api_view/update_view.py,sha256=9b5-RxfSAGJIiQheM_qgin8Tkd9-Nz8LOCHw6IPatJk,3894
18
18
  fastgenerateapi/api_view/mixin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  fastgenerateapi/api_view/mixin/base_mixin.py,sha256=JI9xFkWCTLVKI7aP92v2cXCIY8GPAIE46JxJgNKSbEw,6595
20
- fastgenerateapi/api_view/mixin/dbmodel_mixin.py,sha256=2JY04R3_d_mxK_yp4iS746L8Gd4iONqOWHLpGerwyRk,4258
20
+ fastgenerateapi/api_view/mixin/dbmodel_mixin.py,sha256=b5H8ARZOtEWaKgD2Q-mPaX7Mr9wPnGfef3EBkpBFPH0,4402
21
21
  fastgenerateapi/api_view/mixin/get_mixin.py,sha256=cpyTHaKFNsAhbtnLkz057rGcaKJXipNS-m9ftITsz1I,266
22
22
  fastgenerateapi/api_view/mixin/response_mixin.py,sha256=zhWK6aqJtSvsjm6vkaDRXpYPGzh7FgLPyQS_SIoZWNc,2888
23
23
  fastgenerateapi/api_view/mixin/save_mixin.py,sha256=inRppAov9ruKqTgGhxPto84ETp1T1WP62n6OgEBIgyU,317
@@ -48,8 +48,8 @@ fastgenerateapi/example/schemas.py,sha256=MRtyfWUjRSNPJKWPUHGXyMFUugGY8kylPAdq9g
48
48
  fastgenerateapi/example/views.py,sha256=vj-Nk3z8tA0q8_blyAKzg_s7OEByPBos-2T-9ksl3Gc,3276
49
49
  fastgenerateapi/my_fields/__init__.py,sha256=StbTm3_2IBZ8U5kEWxtNyZ3I-Qs-pCFd5vtAZTq52wA,202
50
50
  fastgenerateapi/my_fields/aes_field.py,sha256=r4_Jhuq5lgwmITWjUYcFrv5uBR57GPGCVMgy3yNDvp4,4518
51
- fastgenerateapi/my_fields/enum_field.py,sha256=uTzYFexX1uCPxVzvrCXSSqvpw134vlZDKBrzElmvDuw,7672
52
- fastgenerateapi/my_fields/pk_field.py,sha256=JUjIpLb2qoNhAMELSOIahlNEk2gTe7KL3DaEZJBWrQk,1376
51
+ fastgenerateapi/my_fields/enum_field.py,sha256=lFSGCIFR-EsmZpKOtBPdTqsb1i4a2mV_7EQcpIE0ZXY,7811
52
+ fastgenerateapi/my_fields/pk_field.py,sha256=xQ8ksp2txFAGa5PLm9-ZfAks_5iYnbC63LNmZlDzS34,1326
53
53
  fastgenerateapi/my_fields/pwd_field.py,sha256=eUnarxEyHgpOzTBmsl0KxsI8lR7FzUDjxyFCKTqJDBU,2191
54
54
  fastgenerateapi/my_fields/soft_delete_field.py,sha256=aZ1ThTzRmB3OF0ffVCzT5pQ8nFVEOPvOHHz3lyf5ZBE,1450
55
55
  fastgenerateapi/pydantic_utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -66,7 +66,7 @@ fastgenerateapi/schemas_factory/get_relation_schema_factory.py,sha256=00Mpz6kO4p
66
66
  fastgenerateapi/schemas_factory/get_tree_schema_factory.py,sha256=6HSXOKu73p4o2ugf4LnY8SJ18npdIGMqZ0itZVOATHU,7265
67
67
  fastgenerateapi/schemas_factory/response_factory.py,sha256=E5NAUcI9IWkH9xT517udWzOexF7U6sgVomcnHh2PxVc,1647
68
68
  fastgenerateapi/schemas_factory/sql_get_all_schema_factory.py,sha256=fr-_J2FdLfhAQTXZHMwhF56KIf_y7suI9TCOmAV4zI8,1816
69
- fastgenerateapi/schemas_factory/update_schema_factory.py,sha256=_PRSNn8gy_DYoEFEQKWMYBMzyksJeKM2AyFUrVcYmFU,3737
69
+ fastgenerateapi/schemas_factory/update_schema_factory.py,sha256=c2K0RnKcwMaoYHJ_ak94vgvkeW4B_WIBXL-EQy9uGTY,3735
70
70
  fastgenerateapi/settings/__init__.py,sha256=rqUtJyMLicobcyhmr74TepjmUQAEmlazKT3vjV_n3aA,6
71
71
  fastgenerateapi/settings/register_settings.py,sha256=yeVkXuarA_OdxPQ6F4y1eW-_OuFAm9eJcFaz-YZwodg,97
72
72
  fastgenerateapi/settings/settings.py,sha256=A0smBQ8YpDfvo6jjD4ztRhS2A_9stqS5hwsODwdu4Xw,6881
@@ -75,8 +75,8 @@ fastgenerateapi/utils/aes.py,sha256=2ewx-qc7wAN68iExyNM97F8dB1sXhfGYVpNWFYR_a1k,
75
75
  fastgenerateapi/utils/exception.py,sha256=dnBmVpHLUS_PZ2cwIvpAJ3ncswZnn31L98gNmCoe8_k,121
76
76
  fastgenerateapi/utils/parse_str.py,sha256=vDUjx_Fx0nOHwtkWnOauN21NB_ecNglr5bVBKrLL33g,850
77
77
  fastgenerateapi/utils/snowflake.py,sha256=ufr6aayY0McRp6epw2AGMqSA-CEzvXwSF5VmnIzPhLo,4539
78
- fastgenerateapi-0.0.26.dist-info/LICENSE,sha256=gcuuhKKc5-dwvyvHsXjlC9oM6N5gZ6umYbC8ewW1Yvg,35821
79
- fastgenerateapi-0.0.26.dist-info/METADATA,sha256=MIHAsAPOCdXlqZ87-uhoqpgrgUWI6b02dpvIQg1oh7U,4887
80
- fastgenerateapi-0.0.26.dist-info/WHEEL,sha256=iYlv5fX357PQyRT2o6tw1bN-YcKFFHKqB_LwHO5wP-g,110
81
- fastgenerateapi-0.0.26.dist-info/top_level.txt,sha256=7RBBRe1lBEnxZtP89_Wj1QwI2KE8r3Pi9IwywUHTdVg,16
82
- fastgenerateapi-0.0.26.dist-info/RECORD,,
78
+ fastgenerateapi-0.0.27.dist-info/LICENSE,sha256=gcuuhKKc5-dwvyvHsXjlC9oM6N5gZ6umYbC8ewW1Yvg,35821
79
+ fastgenerateapi-0.0.27.dist-info/METADATA,sha256=FBvlJLjj8ARLxQrmUJMCSy7qPe5FE05Ie7FmjMhvzI8,4887
80
+ fastgenerateapi-0.0.27.dist-info/WHEEL,sha256=a-zpFRIJzOq5QfuhBzbhiA1eHTzNCJn8OdRvhdNX0Rk,110
81
+ fastgenerateapi-0.0.27.dist-info/top_level.txt,sha256=7RBBRe1lBEnxZtP89_Wj1QwI2KE8r3Pi9IwywUHTdVg,16
82
+ fastgenerateapi-0.0.27.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.41.2)
2
+ Generator: bdist_wheel (0.40.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any