fastcodedog 2.0.4__tar.gz → 2.0.6__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.
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/PKG-INFO +1 -1
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/api/endpoint.py +1 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/crud/query.py +3 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/api/api_function.py +11 -5
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/api/generation.py +2 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/api/main.py +3 -1
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/crud/crud_functions.py +5 -2
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/crud/query_functions.py +16 -1
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/schema_and_crud_to_api/endpoint.py +1 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/pyproject.toml +1 -1
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/README.md +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/README_zh.md +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/cli.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/common/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/common/source_file_path.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/common/write_file.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/api/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/api/api.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/api/oauth2.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/api/param.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/common/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/common/get_context_object.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/common/get_relationship.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/common/import_.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/context.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/contextbase.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/crud/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/crud/column.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/crud/crud.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/crud/join_relationship.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/model/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/model/column.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/model/computed_property.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/model/model.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/model/relationship.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/schema/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/schema/alias_generator.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/schema/field.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/schema/response_schema.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/schema/schema.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/schema/sub_object.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/setting/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/setting/config.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/setting/extend_app.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/setting/project.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/context/setting/source_directory.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/api/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/api/api.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/api/config.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/api/db.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/api/oauth2.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/base/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/base/block.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/base/call.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/base/class_type.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/base/file.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/base/function.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/base/head_comment.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/base/line_break.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/base/location_finder.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/base/required_import.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/base/text.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/base/variable.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/commonfiles/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/commonfiles/configfiles/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/commonfiles/db.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/commonfiles/generation.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/commonfiles/main.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/commonfiles/oauthfiles/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/commonfiles/toolfiles/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/commonfiles/utilfiles/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/commonfiles/utilfiles/case_converter.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/crud/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/crud/crud.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/crud/generation.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/crud/selectinload.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/model/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/model/base.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/model/column.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/model/computed_property.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/model/generation.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/model/init.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/model/model.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/model/relation_object.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/model/relationship.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/model/table_args.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/schema/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/schema/field.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/schema/generation.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/schema/response_schema.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/schema/schema.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/schema/sub_object.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_and_schema_to_crud/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_and_schema_to_crud/prepare.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_and_schema_to_crud/queries.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_to_schema/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_to_schema/alias_generator.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_to_schema/no_input_fields.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_to_schema/no_response_fields.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_to_schema/prepare.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_to_schema/response_schemas.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_to_schema/specified_field_types.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/README.MD +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/after/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/after/computed_properties.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/after/disable_relationships.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/after/specified_class_names.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/before/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/before/additional_foreign_keys.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/before/specified_column_types.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/before/specified_relationship_names.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/column.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/pdm.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/prepare.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/reference.xml +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/table.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/pdm_to_model/table.xml +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/schema_and_crud_to_api/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/schema_and_crud_to_api/prepare.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/schema_and_crud_to_api/schemas.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/schema_and_crud_to_api/validate_reponse_models.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/util/__init__.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/util/case_converter.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/util/deep_update.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/util/extractor.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/util/find_file.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/util/indent.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/util/inflect_wrapper.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/util/make_dirs.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/util/singleton.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/util/type_converter.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/util/valid_name.py +0 -0
- {fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/util/wrap_str_with_quotation.py +0 -0
|
@@ -17,6 +17,9 @@ class Query(ContextBase):
|
|
|
17
17
|
self.name = ''
|
|
18
18
|
self.model = ''
|
|
19
19
|
self.module = ''
|
|
20
|
+
self.select_models = []
|
|
21
|
+
self._types['select_models'] = str
|
|
22
|
+
# self.select_from = ''
|
|
20
23
|
self.summary = ''
|
|
21
24
|
self.description = ''
|
|
22
25
|
self.max_size = None # 一个请求允许的最大返回值
|
|
@@ -112,15 +112,21 @@ return {{}}""", possible_imports=[self.crud_imoprt, 'from fastapi import HTTPExc
|
|
|
112
112
|
params_class_name = 'CustomParams'
|
|
113
113
|
if self.api.validate_response_model:
|
|
114
114
|
self.blocks.append(Text(
|
|
115
|
-
f"""return create_page([response_model.model_validate({self.api.snake_name}) for {self.api.snake_name} in query.offset(skip).limit(limit).all()],
|
|
115
|
+
f"""return create_page([response_model.model_validate({self.api.snake_name}) for {self.api.snake_name}{', *_' if self.context.have_select_models else ''} in query.offset(skip).limit(limit).all()],
|
|
116
116
|
total=total, params={params_class_name}(page=page, size=size))""",
|
|
117
117
|
possible_imports=['from fastapi_pagination import create_page',
|
|
118
118
|
'from fastapi_pagination import Params']))
|
|
119
119
|
else:
|
|
120
|
-
self.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
120
|
+
if self.context.have_select_models:
|
|
121
|
+
self.blocks.append(Text(f"""return create_page([for {self.api.snake_name}, *_ in query.offset(skip).limit(limit).all()],
|
|
122
|
+
total=total, params={params_class_name}(page=page, size=size))""",
|
|
123
|
+
possible_imports=['from fastapi_pagination import create_page',
|
|
124
|
+
'from fastapi_pagination import Params']))
|
|
125
|
+
else:
|
|
126
|
+
self.blocks.append(Text(f"""return create_page(query.offset(skip).limit(limit).all(),
|
|
127
|
+
total=total, params={params_class_name}(page=page, size=size))""",
|
|
128
|
+
possible_imports=['from fastapi_pagination import create_page',
|
|
129
|
+
'from fastapi_pagination import Params']))
|
|
124
130
|
|
|
125
131
|
def _fill_option_none(self):
|
|
126
132
|
if any([param.option_none for param in self.context.params.values()]):
|
|
@@ -70,6 +70,7 @@ logging.getLogger('sqlalchemy.engine').setLevel(get_config('logging', 'level', l
|
|
|
70
70
|
@app.exception_handler(DataError)
|
|
71
71
|
@app.exception_handler(ValidationError)
|
|
72
72
|
async def fastapi_exception_handler_400(request, exc):
|
|
73
|
+
logging.warning(traceback.format_exc())
|
|
73
74
|
if f"{exc}".find("duplicate key") != -1:
|
|
74
75
|
p = r'(Key\s+.*already\s+exists)'
|
|
75
76
|
detail = re.findall(p, f"{exc}")
|
|
@@ -85,6 +86,7 @@ async def fastapi_exception_handler_400(request, exc):
|
|
|
85
86
|
|
|
86
87
|
@app.exception_handler(SQLAlchemyError)
|
|
87
88
|
async def fastapi_exception_handler_500(request, exc):
|
|
89
|
+
logging.error(traceback.format_exc())
|
|
88
90
|
raise HTTPException(
|
|
89
91
|
status_code=HTTP_500_INTERNAL_SERVER_ERROR,
|
|
90
92
|
detail=f"Database operation failed: {exc}",
|
|
@@ -93,4 +95,4 @@ async def fastapi_exception_handler_500(request, exc):
|
|
|
93
95
|
'from pydantic import ValidationError',
|
|
94
96
|
'from starlette.status import HTTP_400_BAD_REQUEST',
|
|
95
97
|
'from starlette.status import HTTP_500_INTERNAL_SERVER_ERROR',
|
|
96
|
-
'import re']))
|
|
98
|
+
'import re', 'import traceback']))
|
|
@@ -13,8 +13,8 @@ from fastcodedog.util.inflect_wrapper import plural
|
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
class Crud(Function):
|
|
16
|
-
POSSIBLE_IMPORTS = ['from datetime import datetime', 'from datetime import date', 'from datetime import time',
|
|
17
|
-
'from sqlalchemy import exists', 'from sqlalchemy import select',
|
|
16
|
+
POSSIBLE_IMPORTS = ['import datetime', 'from datetime import datetime', 'from datetime import date', 'from datetime import time',
|
|
17
|
+
'from sqlalchemy import exists', 'from sqlalchemy import select', 'from sqlalchemy import join',
|
|
18
18
|
'from sqlalchemy import or_', 'from sqlalchemy import and_']
|
|
19
19
|
|
|
20
20
|
class Action(Enum):
|
|
@@ -51,6 +51,9 @@ class Crud(Function):
|
|
|
51
51
|
for model in models.values():
|
|
52
52
|
if model.name == model_name:
|
|
53
53
|
return LocationFinder.get_package(model_name, 'model', model.module)
|
|
54
|
+
# 支持的系统模型
|
|
55
|
+
if model_name == 'datetime':
|
|
56
|
+
return None
|
|
54
57
|
raise Exception(f'未找到模型:{model_name}')
|
|
55
58
|
|
|
56
59
|
|
|
@@ -150,6 +150,7 @@ class Query(Crud):
|
|
|
150
150
|
super().__init__(f'get_{context.name}', context=context, comment=context.description)
|
|
151
151
|
self.action = Crud.Action.READ
|
|
152
152
|
self.return_list = True
|
|
153
|
+
self.have_select_models = bool(self.context.select_models)
|
|
153
154
|
self.summary = context.summary
|
|
154
155
|
self.params['session'] = Function.Parameter('session', nullable=False)
|
|
155
156
|
for parameter in context.parameters.values():
|
|
@@ -171,7 +172,21 @@ class Query(Crud):
|
|
|
171
172
|
self._init_blocks_and_possible_imports()
|
|
172
173
|
|
|
173
174
|
def _init_blocks_and_possible_imports(self):
|
|
174
|
-
|
|
175
|
+
# 添加session.query
|
|
176
|
+
if self.context.select_models:
|
|
177
|
+
# self.add_possible_imports(Import(self.context.select_models[0], self.get_package_by_model_name(self.context.select_models[0])))
|
|
178
|
+
self.blocks.append(Text(f'query = session.query({", ".join([self.context.model] + self.context.select_models)})'))
|
|
179
|
+
for select_model in self.context.select_models:
|
|
180
|
+
if select_model not in self.context.aliases.keys():
|
|
181
|
+
self.add_possible_imports(Import(select_model, self.get_package_by_model_name(select_model)))
|
|
182
|
+
else:
|
|
183
|
+
self.blocks.append(Text(f'query = session.query({self.context.model})'))
|
|
184
|
+
# # 添加select_from,一般需要先有select_models
|
|
185
|
+
# if self.context.select_from:
|
|
186
|
+
# self.blocks.append(Text(f'query = query.select_from({self.context.select_from})'))
|
|
187
|
+
# for select_from in extract_variables(self.context.select_from):
|
|
188
|
+
# if select_from not in ['join', 'outerjoin'] and select_from not in self.context.aliases.keys():
|
|
189
|
+
# ...
|
|
175
190
|
for alias_name, alias_value in self.context.aliases.items():
|
|
176
191
|
model_name = alias_value.split('.')[0]
|
|
177
192
|
self.add_possible_imports(Import(model_name, self.get_package_by_model_name(model_name)))
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/schema_and_crud_to_api/endpoint.py
RENAMED
|
@@ -18,6 +18,7 @@ class Endpoint:
|
|
|
18
18
|
def to_json(self):
|
|
19
19
|
return {
|
|
20
20
|
'name': self.name,
|
|
21
|
+
'have_select_models': False if not hasattr(self.block, 'have_select_models') else self.block.have_select_models,
|
|
21
22
|
'summary': self.block.summary,
|
|
22
23
|
'comment': self.block.comment,
|
|
23
24
|
'action': self._get_action(),
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/commonfiles/configfiles/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/commonfiles/oauthfiles/__init__.py
RENAMED
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/commonfiles/toolfiles/__init__.py
RENAMED
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/generation/commonfiles/utilfiles/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_and_schema_to_crud/__init__.py
RENAMED
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_and_schema_to_crud/prepare.py
RENAMED
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_and_schema_to_crud/queries.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_to_schema/alias_generator.py
RENAMED
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_to_schema/no_input_fields.py
RENAMED
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_to_schema/no_response_fields.py
RENAMED
|
File without changes
|
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_to_schema/response_schemas.py
RENAMED
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/model_to_schema/specified_field_types.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/schema_and_crud_to_api/__init__.py
RENAMED
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/schema_and_crud_to_api/prepare.py
RENAMED
|
File without changes
|
{fastcodedog-2.0.4 → fastcodedog-2.0.6}/fastcodedog/prepare/schema_and_crud_to_api/schemas.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|