fastcodedog 2.0.8__tar.gz → 2.0.9__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 (140) hide show
  1. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/PKG-INFO +1 -1
  2. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/crud/column.py +1 -0
  3. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/crud/crud.py +3 -0
  4. fastcodedog-2.0.9/fastcodedog/context/crud/default_value.py +12 -0
  5. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/model/computed_property.py +2 -3
  6. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/schema/alias_generator.py +2 -3
  7. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/api/main.py +1 -0
  8. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/crud/crud_functions.py +18 -1
  9. fastcodedog-2.0.9/fastcodedog/prepare/model_and_schema_to_crud/default_values.py +36 -0
  10. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/model_and_schema_to_crud/prepare.py +3 -1
  11. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/pyproject.toml +1 -1
  12. fastcodedog-2.0.8/fastcodedog/context/common/import_.py +0 -10
  13. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/README.md +0 -0
  14. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/README_zh.md +0 -0
  15. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/__init__.py +0 -0
  16. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/cli.py +0 -0
  17. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/common/__init__.py +0 -0
  18. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/common/source_file_path.py +0 -0
  19. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/common/write_file.py +0 -0
  20. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/__init__.py +0 -0
  21. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/api/__init__.py +0 -0
  22. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/api/api.py +0 -0
  23. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/api/endpoint.py +0 -0
  24. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/api/oauth2.py +0 -0
  25. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/api/param.py +0 -0
  26. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/common/__init__.py +0 -0
  27. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/common/get_context_object.py +0 -0
  28. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/common/get_relationship.py +0 -0
  29. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/context.py +0 -0
  30. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/contextbase.py +0 -0
  31. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/crud/__init__.py +0 -0
  32. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/crud/join_relationship.py +0 -0
  33. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/crud/query.py +0 -0
  34. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/model/__init__.py +0 -0
  35. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/model/column.py +0 -0
  36. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/model/model.py +0 -0
  37. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/model/relationship.py +0 -0
  38. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/schema/__init__.py +0 -0
  39. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/schema/field.py +0 -0
  40. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/schema/response_schema.py +0 -0
  41. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/schema/schema.py +0 -0
  42. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/schema/sub_object.py +0 -0
  43. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/setting/__init__.py +0 -0
  44. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/setting/config.py +0 -0
  45. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/setting/extend_app.py +0 -0
  46. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/setting/project.py +0 -0
  47. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/context/setting/source_directory.py +0 -0
  48. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/__init__.py +0 -0
  49. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/api/__init__.py +0 -0
  50. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/api/api.py +0 -0
  51. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/api/api_function.py +0 -0
  52. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/api/config.py +0 -0
  53. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/api/db.py +0 -0
  54. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/api/generation.py +0 -0
  55. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/api/oauth2.py +0 -0
  56. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/base/__init__.py +0 -0
  57. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/base/block.py +0 -0
  58. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/base/call.py +0 -0
  59. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/base/class_type.py +0 -0
  60. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/base/file.py +0 -0
  61. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/base/function.py +0 -0
  62. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/base/head_comment.py +0 -0
  63. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/base/line_break.py +0 -0
  64. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/base/location_finder.py +0 -0
  65. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/base/required_import.py +0 -0
  66. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/base/text.py +0 -0
  67. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/base/variable.py +0 -0
  68. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/commonfiles/__init__.py +0 -0
  69. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/commonfiles/configfiles/__init__.py +0 -0
  70. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/commonfiles/db.py +0 -0
  71. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/commonfiles/generation.py +0 -0
  72. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/commonfiles/main.py +0 -0
  73. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/commonfiles/oauthfiles/__init__.py +0 -0
  74. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/commonfiles/toolfiles/__init__.py +0 -0
  75. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/commonfiles/utilfiles/__init__.py +0 -0
  76. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/commonfiles/utilfiles/case_converter.py +0 -0
  77. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/crud/__init__.py +0 -0
  78. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/crud/crud.py +0 -0
  79. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/crud/generation.py +0 -0
  80. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/crud/query_functions.py +0 -0
  81. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/crud/selectinload.py +0 -0
  82. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/model/__init__.py +0 -0
  83. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/model/base.py +0 -0
  84. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/model/column.py +0 -0
  85. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/model/computed_property.py +0 -0
  86. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/model/generation.py +0 -0
  87. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/model/init.py +0 -0
  88. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/model/model.py +0 -0
  89. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/model/relation_object.py +0 -0
  90. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/model/relationship.py +0 -0
  91. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/model/table_args.py +0 -0
  92. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/schema/__init__.py +0 -0
  93. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/schema/field.py +0 -0
  94. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/schema/generation.py +0 -0
  95. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/schema/response_schema.py +0 -0
  96. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/schema/schema.py +0 -0
  97. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/generation/schema/sub_object.py +0 -0
  98. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/__init__.py +0 -0
  99. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/model_and_schema_to_crud/__init__.py +0 -0
  100. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/model_and_schema_to_crud/queries.py +0 -0
  101. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/model_to_schema/__init__.py +0 -0
  102. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/model_to_schema/alias_generator.py +0 -0
  103. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/model_to_schema/no_input_fields.py +0 -0
  104. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/model_to_schema/no_response_fields.py +0 -0
  105. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/model_to_schema/prepare.py +0 -0
  106. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/model_to_schema/response_schemas.py +0 -0
  107. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/model_to_schema/specified_field_types.py +0 -0
  108. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/README.MD +0 -0
  109. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/__init__.py +0 -0
  110. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/after/__init__.py +0 -0
  111. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/after/computed_properties.py +0 -0
  112. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/after/disable_relationships.py +0 -0
  113. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/after/specified_class_names.py +0 -0
  114. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/before/__init__.py +0 -0
  115. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/before/additional_foreign_keys.py +0 -0
  116. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/before/specified_column_types.py +0 -0
  117. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/before/specified_relationship_names.py +0 -0
  118. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/column.py +0 -0
  119. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/pdm.py +0 -0
  120. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/prepare.py +0 -0
  121. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/reference.xml +0 -0
  122. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/table.py +0 -0
  123. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/pdm_to_model/table.xml +0 -0
  124. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/schema_and_crud_to_api/__init__.py +0 -0
  125. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/schema_and_crud_to_api/endpoint.py +0 -0
  126. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/schema_and_crud_to_api/prepare.py +0 -0
  127. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/schema_and_crud_to_api/schemas.py +0 -0
  128. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/prepare/schema_and_crud_to_api/validate_reponse_models.py +0 -0
  129. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/util/__init__.py +0 -0
  130. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/util/case_converter.py +0 -0
  131. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/util/deep_update.py +0 -0
  132. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/util/extractor.py +0 -0
  133. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/util/find_file.py +0 -0
  134. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/util/indent.py +0 -0
  135. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/util/inflect_wrapper.py +0 -0
  136. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/util/make_dirs.py +0 -0
  137. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/util/singleton.py +0 -0
  138. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/util/type_converter.py +0 -0
  139. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/util/valid_name.py +0 -0
  140. {fastcodedog-2.0.8 → fastcodedog-2.0.9}/fastcodedog/util/wrap_str_with_quotation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fastcodedog
3
- Version: 2.0.8
3
+ Version: 2.0.9
4
4
  Summary:
5
5
  License: MIT
6
6
  Author: taohoo
@@ -11,3 +11,4 @@ class Column(ContextBase):
11
11
  self.nullable = True
12
12
  self.option_none = False # 是否需要处理输入的None。可以在地址中输入变量名而不输入变量值来传递None
13
13
  self.description = ''
14
+
@@ -1,6 +1,7 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  from fastcodedog.context.contextbase import ContextBase
3
3
  from fastcodedog.context.crud.column import Column
4
+ from fastcodedog.context.crud.default_value import DefaultValue
4
5
  from fastcodedog.context.crud.join_relationship import JoinRelationship
5
6
  from fastcodedog.context.crud.query import Query
6
7
 
@@ -23,6 +24,8 @@ class Crud(ContextBase):
23
24
  self._types['join_relationships'] = JoinRelationship
24
25
  self.queries = {}
25
26
  self._types['queries'] = Query
27
+ self.default_values = {}
28
+ self._types['default_values'] = DefaultValue
26
29
 
27
30
  def load(self, json):
28
31
  for k, v in json.items():
@@ -0,0 +1,12 @@
1
+ # -*- coding: utf-8 -*-
2
+ from fastcodedog.context.contextbase import ContextBase
3
+
4
+
5
+ class DefaultValue(ContextBase):
6
+ def __init__(self):
7
+ super().__init__()
8
+ self.change_when_update = False
9
+ self.force_default = False
10
+ self.import_ = []
11
+ self._types['import_'] = str
12
+ self.value_expression = ''
@@ -1,5 +1,4 @@
1
1
  # -*- coding: utf-8 -*-
2
- from fastcodedog.context.common.import_ import Import_
3
2
  from fastcodedog.context.contextbase import ContextBase
4
3
 
5
4
 
@@ -15,5 +14,5 @@ class ComputedProperty(ContextBase):
15
14
  self.model_name = ''
16
15
  self.nullable = True
17
16
  self.script = ''
18
- self.import_ = None
19
- self._types['import_'] = Import_
17
+ self.import_ = []
18
+ self._types['import_'] = str
@@ -1,11 +1,10 @@
1
1
  # -*- coding: utf-8 -*-
2
- from fastcodedog.context.common.import_ import Import_
3
2
  from fastcodedog.context.contextbase import ContextBase
4
3
 
5
4
 
6
5
  class AliasGenerator(ContextBase):
7
6
  def __init__(self):
8
7
  super().__init__()
9
- self.import_ = None
10
- self._types['import_'] = Import_
8
+ self.import_ = []
9
+ self._types['import_'] = str
11
10
  self.function = ''
@@ -22,6 +22,7 @@ class Main(File):
22
22
  def _init_blocks(self):
23
23
  self.blocks.append(
24
24
  Variable('app', value='FastAPI()', possible_imports='from fastapi import FastAPI'))
25
+ self.blocks.append(Text('app.add_middleware(AuthMiddleware)', possible_imports='from fastoauth import AuthMiddleware'))
25
26
  self._init_swagger()
26
27
  self._init_sqlalchemy_error_handler()
27
28
  # 异常捕捉定义和配置之间加空行
@@ -89,6 +89,14 @@ class BaseCreate(Crud):
89
89
  if not column.nullable:
90
90
  self.blocks.append(Text(f"if not {self.snake_name}.{column.name}:\n {self.snake_name}.{column.name} = str(uuid.uuid4())",
91
91
  possible_imports='import uuid'))
92
+ # 添加默认值
93
+ for column, default_value in self.context.default_values.items():
94
+ if default_value.force_default:
95
+ self.blocks.append(Text(f"{self.snake_name}.{column} = {default_value.value_expression}"))
96
+ else:
97
+ self.blocks.append(Text(f"if not {self.snake_name}.{column}:\n {self.snake_name}.{column} = {default_value.value_expression}"))
98
+ if default_value.import_:
99
+ self.add_possible_imports(default_value.import_)
92
100
  self.blocks.append(Text(f"session.add({self.snake_name})"))
93
101
  self.blocks.append(Text(f"session.commit()"))
94
102
  self.blocks.append(Text(f"return {self.snake_name}"))
@@ -129,7 +137,16 @@ class BaseUpdate(Crud):
129
137
  continue"""
130
138
  self.blocks.append(Text(content, indent=self.DEFAULT_INDENT))
131
139
  self.blocks.append(Text(f"setattr({self.snake_name}, key, value)", indent=self.DEFAULT_INDENT))
132
-
140
+ # 添加默认值
141
+ for column, default_value in self.context.default_values.items():
142
+ if not default_value.change_when_update:
143
+ continue
144
+ if default_value.force_default:
145
+ self.blocks.append(Text(f"{self.snake_name}.{column} = {default_value.value_expression}"))
146
+ else:
147
+ self.blocks.append(Text(f"if not {self.snake_name}.{column}:\n {self.snake_name}.{column} = {default_value.value_expression}"))
148
+ if default_value.import_:
149
+ self.add_possible_imports(default_value.import_)
133
150
  self.blocks.append(Text(f"session.commit()"))
134
151
  self.blocks.append(Text(f"return {self.snake_name}"))
135
152
 
@@ -0,0 +1,36 @@
1
+ # -*- coding: utf-8 -*-
2
+ import json5
3
+
4
+ from fastcodedog.common.source_file_path import get_crud_file_path
5
+ from fastcodedog.context.context import ctx_instance
6
+ from fastcodedog.context.crud.crud import Crud
7
+ from fastcodedog.context.model.model import Model
8
+ from fastcodedog.util.find_file import find
9
+
10
+
11
+ def add_default_value(crud_directory, default_values):
12
+ for column_name, default_value in default_values.items():
13
+ k_model = ''
14
+ k_column = ''
15
+ if column_name.find('.') > 0:
16
+ k_model = column_name.split('.')[0]
17
+ k_column = column_name.split('.')[1]
18
+ else:
19
+ k_column = column_name
20
+ files = find(ctx_instance.source_directory.model, '*/*.json5')
21
+ for file in files:
22
+ model = Model()
23
+ model.load(json5.load(open(file, 'r', encoding='utf-8')))
24
+ if k_model and k_model != model.name:
25
+ continue
26
+ for column in model.columns.keys():
27
+ if k_column != column:
28
+ continue
29
+ json_file = get_crud_file_path(model.module, model.name)
30
+ data = json5.load(open(json_file, 'r', encoding='utf-8'))
31
+ if 'default_values' not in data:
32
+ data['default_values'] = {}
33
+ data['default_values'][column_name] = default_value
34
+ json5.dump(data, open(json_file, 'w', encoding='utf-8'), ensure_ascii=False, indent=4)
35
+
36
+
@@ -5,6 +5,7 @@ from fastcodedog.common.source_file_path import get_crud_file_path
5
5
  from fastcodedog.common.write_file import write_json_file
6
6
  from fastcodedog.context.common.get_context_object import get_model_context, get_schema_context
7
7
  from fastcodedog.context.context import ctx_instance
8
+ from fastcodedog.prepare.model_and_schema_to_crud.default_values import add_default_value
8
9
  from fastcodedog.prepare.model_and_schema_to_crud.queries import add_queries
9
10
 
10
11
 
@@ -77,6 +78,7 @@ def prepare_crud(pre_process_scripts):
77
78
  schema_context = get_schema_context(module, model_context.name)
78
79
  file_path = get_crud_file_path(module, model_context.name)
79
80
  write_json_file(file_path, model_and_schema_to_crud(model_context, schema_context))
80
-
81
+ # 写入默认值
82
+ add_default_value(ctx_instance.source_directory.crud, pre_process_scripts.get('default_values'))
81
83
  # 写入query
82
84
  add_queries(ctx_instance.source_directory.crud, pre_process_scripts.get('queries'))
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "fastcodedog"
3
- version = "2.0.8"
3
+ version = "2.0.9"
4
4
  description = ""
5
5
  authors = ["taohoo <taohoo@163.com>"]
6
6
  license = "MIT"
@@ -1,10 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- from fastcodedog.context.contextbase import ContextBase
3
-
4
-
5
- class Import_(ContextBase):
6
- def __init__(self):
7
- super().__init__()
8
- self.from_ = ''
9
- self.import_ = ''
10
- self.as_ = ''
File without changes
File without changes