fastcodedog 3.0.1__tar.gz → 3.0.2__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 (139) hide show
  1. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/PKG-INFO +1 -1
  2. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/model/relationship.py +2 -0
  3. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/model/relationship.py +6 -0
  4. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/table.py +15 -1
  5. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/pyproject.toml +1 -1
  6. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/README.md +0 -0
  7. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/README_zh.md +0 -0
  8. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/__init__.py +0 -0
  9. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/cli.py +0 -0
  10. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/common/__init__.py +0 -0
  11. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/common/source_file_path.py +0 -0
  12. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/common/write_file.py +0 -0
  13. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/__init__.py +0 -0
  14. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/api/__init__.py +0 -0
  15. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/api/api.py +0 -0
  16. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/api/endpoint.py +0 -0
  17. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/api/oauth2.py +0 -0
  18. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/api/param.py +0 -0
  19. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/common/__init__.py +0 -0
  20. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/common/get_context_object.py +0 -0
  21. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/common/get_relationship.py +0 -0
  22. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/context.py +0 -0
  23. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/contextbase.py +0 -0
  24. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/crud/__init__.py +0 -0
  25. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/crud/column.py +0 -0
  26. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/crud/crud.py +0 -0
  27. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/crud/default_value.py +0 -0
  28. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/crud/join_relationship.py +0 -0
  29. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/crud/query.py +0 -0
  30. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/model/__init__.py +0 -0
  31. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/model/column.py +0 -0
  32. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/model/computed_property.py +0 -0
  33. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/model/model.py +0 -0
  34. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/schema/__init__.py +0 -0
  35. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/schema/alias_generator.py +0 -0
  36. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/schema/field.py +0 -0
  37. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/schema/response_schema.py +0 -0
  38. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/schema/schema.py +0 -0
  39. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/schema/sub_object.py +0 -0
  40. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/setting/__init__.py +0 -0
  41. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/setting/config.py +0 -0
  42. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/setting/extend_app.py +0 -0
  43. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/setting/project.py +0 -0
  44. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/context/setting/source_directory.py +0 -0
  45. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/__init__.py +0 -0
  46. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/api/__init__.py +0 -0
  47. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/api/api.py +0 -0
  48. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/api/api_function.py +0 -0
  49. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/api/config.py +0 -0
  50. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/api/db.py +0 -0
  51. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/api/generation.py +0 -0
  52. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/api/main.py +0 -0
  53. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/api/oauth2.py +0 -0
  54. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/base/__init__.py +0 -0
  55. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/base/block.py +0 -0
  56. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/base/call.py +0 -0
  57. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/base/class_type.py +0 -0
  58. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/base/file.py +0 -0
  59. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/base/function.py +0 -0
  60. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/base/head_comment.py +0 -0
  61. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/base/line_break.py +0 -0
  62. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/base/location_finder.py +0 -0
  63. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/base/required_import.py +0 -0
  64. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/base/text.py +0 -0
  65. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/base/variable.py +0 -0
  66. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/commonfiles/__init__.py +0 -0
  67. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/commonfiles/configfiles/__init__.py +0 -0
  68. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/commonfiles/generation.py +0 -0
  69. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/commonfiles/main.py +0 -0
  70. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/commonfiles/oauthfiles/__init__.py +0 -0
  71. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/commonfiles/toolfiles/__init__.py +0 -0
  72. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/commonfiles/utilfiles/__init__.py +0 -0
  73. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/commonfiles/utilfiles/case_converter.py +0 -0
  74. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/commonfiles/utilfiles/log.py +0 -0
  75. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/crud/__init__.py +0 -0
  76. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/crud/crud.py +0 -0
  77. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/crud/crud_functions.py +0 -0
  78. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/crud/generation.py +0 -0
  79. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/crud/query_functions.py +0 -0
  80. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/crud/selectinload.py +0 -0
  81. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/model/__init__.py +0 -0
  82. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/model/base.py +0 -0
  83. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/model/column.py +0 -0
  84. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/model/computed_property.py +0 -0
  85. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/model/generation.py +0 -0
  86. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/model/init.py +0 -0
  87. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/model/model.py +0 -0
  88. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/model/relation_object.py +0 -0
  89. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/model/table_args.py +0 -0
  90. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/schema/__init__.py +0 -0
  91. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/schema/field.py +0 -0
  92. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/schema/generation.py +0 -0
  93. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/schema/response_schema.py +0 -0
  94. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/schema/schema.py +0 -0
  95. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/generation/schema/sub_object.py +0 -0
  96. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/__init__.py +0 -0
  97. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/model_and_schema_to_crud/__init__.py +0 -0
  98. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/model_and_schema_to_crud/default_values.py +0 -0
  99. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/model_and_schema_to_crud/prepare.py +0 -0
  100. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/model_and_schema_to_crud/queries.py +0 -0
  101. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/model_to_schema/__init__.py +0 -0
  102. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/model_to_schema/alias_generator.py +0 -0
  103. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/model_to_schema/no_input_fields.py +0 -0
  104. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/model_to_schema/no_response_fields.py +0 -0
  105. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/model_to_schema/prepare.py +0 -0
  106. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/model_to_schema/response_schemas.py +0 -0
  107. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/model_to_schema/specified_field_types.py +0 -0
  108. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/README.MD +0 -0
  109. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/__init__.py +0 -0
  110. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/after/__init__.py +0 -0
  111. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/after/computed_properties.py +0 -0
  112. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/after/disable_relationships.py +0 -0
  113. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/after/specified_class_names.py +0 -0
  114. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/before/__init__.py +0 -0
  115. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/before/additional_foreign_keys.py +0 -0
  116. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/before/specified_column_types.py +0 -0
  117. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/before/specified_relationship_names.py +0 -0
  118. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/column.py +0 -0
  119. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/pdm.py +0 -0
  120. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/prepare.py +0 -0
  121. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/reference.xml +0 -0
  122. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/pdm_to_model/table.xml +0 -0
  123. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/schema_and_crud_to_api/__init__.py +0 -0
  124. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/schema_and_crud_to_api/endpoint.py +0 -0
  125. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/schema_and_crud_to_api/prepare.py +0 -0
  126. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/schema_and_crud_to_api/schemas.py +0 -0
  127. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/prepare/schema_and_crud_to_api/validate_reponse_models.py +0 -0
  128. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/util/__init__.py +0 -0
  129. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/util/case_converter.py +0 -0
  130. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/util/deep_update.py +0 -0
  131. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/util/extractor.py +0 -0
  132. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/util/find_file.py +0 -0
  133. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/util/indent.py +0 -0
  134. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/util/inflect_wrapper.py +0 -0
  135. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/util/make_dirs.py +0 -0
  136. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/util/singleton.py +0 -0
  137. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/util/type_converter.py +0 -0
  138. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/fastcodedog/util/valid_name.py +0 -0
  139. {fastcodedog-3.0.1 → fastcodedog-3.0.2}/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: 3.0.1
3
+ Version: 3.0.2
4
4
  Summary:
5
5
  License: MIT
6
6
  Author: taohoo
@@ -19,3 +19,5 @@ class Relationship(ContextBase):
19
19
  self.disabled = False # 禁用。和上面的no_backup是一对
20
20
  self.from_join_table = False # 是否是join_table
21
21
  self.is_list = False # 是否是列表
22
+ self.primaryjoin = '' # 主连接条件
23
+ self.secondaryjoin = '' # 次连接条件
@@ -17,6 +17,8 @@ class Relationship(Variable):
17
17
  self.back_populates = context.back_populates # back_populates变量名
18
18
  self.no_back_populates = context.no_back_populates # 不生成back_populates
19
19
  # self.disabled = context.disabled # 禁用的时候,直接不创建relationship
20
+ self.primaryjoin = context.primaryjoin # 主连接条件
21
+ self.secondaryjoin = context.secondaryjoin
20
22
 
21
23
  self.value = self.get_value()
22
24
  self.comment = f"no back populates {self.back_populates}" if self.no_back_populates else ''
@@ -35,6 +37,10 @@ class Relationship(Variable):
35
37
  relationship_params.append(f"secondary='{self.secondary}'")
36
38
  if self.remote_side:
37
39
  relationship_params.append(f"remote_side={self.remote_side}")
40
+ if self.primaryjoin:
41
+ relationship_params.append(f"primaryjoin='{self.primaryjoin}'")
42
+ if self.secondaryjoin:
43
+ relationship_params.append(f"secondaryjoin='{self.secondaryjoin}'")
38
44
  if self.cascade:
39
45
  relationship_params.append(f"cascade='{self.cascade}'")
40
46
  if self.back_populates and not self.no_back_populates:
@@ -33,6 +33,10 @@ class Table:
33
33
  for child_reference in self.child.child_side_references:
34
34
  if child_reference.parent != self.parent:
35
35
  return child_reference
36
+ # 从自身到自身的多对多关系,比如,质检定单和普通采样定单之间的多对多关系
37
+ for child_reference in self.child.child_side_references:
38
+ if child_reference.child_column.code != self.child_column.code:
39
+ return child_reference
36
40
  return None
37
41
 
38
42
  def __init__(self, node, pdm_file):
@@ -146,9 +150,19 @@ class Table:
146
150
  back_populates_module = another_side_reference.parent.module
147
151
  secondary = reference.child.code
148
152
  secondary_object_name = reference.child.get_model_name() # crud中需要
149
- return {'name': name, 'original_name': original_name, 'back_populates_module': back_populates_module,
153
+ primaryjoin = f"{reference.parent.get_model_name()}.{reference.parent_column.code}=={reference.child.code}.c.{reference.child_column.code}"
154
+ secondaryjoin = f"{another_side_reference.parent.get_model_name()}.{another_side_reference.parent_column.code}=={another_side_reference.child.code}.c.{another_side_reference.child_column.code}"
155
+
156
+ ret = {'name': name, 'original_name': original_name, 'back_populates_module': back_populates_module,
150
157
  'back_populates_model': back_populates_model, 'back_populates': back_populates, 'secondary': secondary,
151
158
  'secondary_object_name': secondary_object_name, 'from_join_table': True, 'is_list': True}
159
+ if (reference.child == another_side_reference.child
160
+ and reference.parent == another_side_reference.parent
161
+ and reference.parent_column.code == another_side_reference.parent_column.code):
162
+ # 如果是同一个表的多对多关系
163
+ ret['primaryjoin'] = primaryjoin
164
+ ret['secondaryjoin'] = secondaryjoin
165
+ return ret
152
166
 
153
167
  def get_sub_object_name_by_foreign_key(self, foreign_key):
154
168
  """根据外键生成子对象名"""
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "fastcodedog"
3
- version = "3.0.1"
3
+ version = "3.0.2"
4
4
  description = ""
5
5
  authors = ["taohoo <taohoo@163.com>"]
6
6
  license = "MIT"
File without changes
File without changes