sqlmodel 0.0.16__tar.gz → 0.0.17.dev2__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.
- {sqlmodel-0.0.16 → sqlmodel-0.0.17.dev2}/PKG-INFO +8 -12
- sqlmodel-0.0.17.dev2/docs_src/advanced/decimal/tutorial001.py +61 -0
- sqlmodel-0.0.17.dev2/docs_src/advanced/decimal/tutorial001_py310.py +60 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/automatic_id_none_refresh/annotations/en/tutorial002.md +387 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/automatic_id_none_refresh/tutorial001.py +81 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/automatic_id_none_refresh/tutorial001_py310.py +79 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/automatic_id_none_refresh/tutorial002.py +82 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/automatic_id_none_refresh/tutorial002_py310.py +80 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial001/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial001/app.py +29 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial001/database.py +10 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial001/models.py +21 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial001_py310/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial001_py310/app.py +29 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial001_py310/database.py +10 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial001_py310/models.py +19 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial001_py39/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial001_py39/app.py +29 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial001_py39/database.py +10 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial001_py39/models.py +21 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002/app.py +30 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002/database.py +10 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002/hero_model.py +16 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002/team_model.py +14 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002_py310/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002_py310/app.py +30 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002_py310/database.py +10 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002_py310/hero_model.py +16 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002_py310/team_model.py +14 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002_py39/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002_py39/app.py +30 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002_py39/database.py +10 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002_py39/hero_model.py +16 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/code_structure/tutorial002_py39/team_model.py +14 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/create_tables/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/create_tables/tutorial001.py +36 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/create_tables/tutorial001_py310.py +34 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/delete/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/delete/tutorial001.py +81 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/delete/tutorial001_py310.py +79 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/insert/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/insert/tutorial001.py +69 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/insert/tutorial001_py310.py +67 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/select/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/select/tutorial001.py +78 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/select/tutorial001_py310.py +76 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/select/tutorial002.py +78 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/select/tutorial002_py310.py +76 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/select/tutorial003.py +78 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/select/tutorial003_py310.py +76 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/select/tutorial004.py +78 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/select/tutorial004_py310.py +76 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/select/tutorial005.py +78 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/select/tutorial005_py310.py +76 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/update/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/update/tutorial001.py +75 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/connect/update/tutorial001_py310.py +73 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/create_db_and_table/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/create_db_and_table/annotations/en/tutorial003.md +75 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/create_db_and_table/tutorial001.py +18 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/create_db_and_table/tutorial001_py310.py +16 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/create_db_and_table/tutorial002.py +24 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/create_db_and_table/tutorial002_py310.py +22 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/create_db_and_table/tutorial003.py +24 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/create_db_and_table/tutorial003_py310.py +22 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/delete/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/delete/annotations/en/tutorial002.md +96 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/delete/tutorial001.py +100 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/delete/tutorial001_py310.py +98 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/delete/tutorial002.py +101 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/delete/tutorial002_py310.py +99 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/annotations/en/test_main_001.md +17 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/annotations/en/test_main_002.md +25 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/annotations/en/test_main_003.md +37 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/annotations/en/test_main_004.md +26 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/annotations/en/test_main_005.md +41 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/annotations/en/test_main_006.md +23 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/main.py +106 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/test_extra_coverage.py +38 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/test_main.py +125 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/test_main_001.py +32 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/test_main_002.py +32 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/test_main_003.py +33 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/test_main_004.py +35 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/test_main_005.py +37 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001/test_main_006.py +41 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_001.md +17 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_002.md +25 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_003.md +37 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_004.md +26 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_005.md +41 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_006.md +23 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/main.py +104 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_extra_coverage.py +38 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main.py +125 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_001.py +32 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_002.py +32 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_003.py +33 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_004.py +35 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_005.py +37 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_006.py +41 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_001.md +17 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_002.md +25 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_003.md +37 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_004.md +26 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_005.md +41 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_006.md +23 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/main.py +106 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_extra_coverage.py +38 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main.py +125 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_001.py +32 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_002.py +32 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_003.py +33 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_004.py +35 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_005.py +37 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_006.py +41 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/delete/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/delete/tutorial001.py +99 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/delete/tutorial001_py310.py +97 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/delete/tutorial001_py39.py +99 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/limit_and_offset/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/limit_and_offset/tutorial001.py +67 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/limit_and_offset/tutorial001_py310.py +65 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/limit_and_offset/tutorial001_py39.py +67 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/multiple_models/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/multiple_models/tutorial001.py +60 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/multiple_models/tutorial001_py310.py +58 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/multiple_models/tutorial001_py39.py +60 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/multiple_models/tutorial002.py +58 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/multiple_models/tutorial002_py310.py +56 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/multiple_models/tutorial002_py39.py +58 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/read_one/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/read_one/tutorial001.py +67 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/read_one/tutorial001_py310.py +65 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/read_one/tutorial001_py39.py +67 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/relationships/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/relationships/tutorial001.py +201 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/relationships/tutorial001_py310.py +199 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/relationships/tutorial001_py39.py +201 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/response_model/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/response_model/tutorial001.py +46 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/response_model/tutorial001_py310.py +44 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/response_model/tutorial001_py39.py +46 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/session_with_dependency/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/session_with_dependency/tutorial001.py +106 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/session_with_dependency/tutorial001_py310.py +104 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/session_with_dependency/tutorial001_py39.py +106 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/simple_hero_api/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/simple_hero_api/tutorial001.py +46 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/simple_hero_api/tutorial001_py310.py +44 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/teams/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/teams/tutorial001.py +192 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/teams/tutorial001_py310.py +190 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/teams/tutorial001_py39.py +192 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/update/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/update/tutorial001.py +87 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/update/tutorial001_py310.py +85 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/update/tutorial001_py39.py +87 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/update/tutorial002.py +101 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/update/tutorial002_py310.py +99 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/fastapi/update/tutorial002_py39.py +101 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/indexes/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/indexes/tutorial001.py +51 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/indexes/tutorial001_py310.py +49 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/indexes/tutorial002.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/indexes/tutorial002_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/insert/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/insert/annotations/en/tutorial003.md +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/insert/tutorial001.py +45 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/insert/tutorial001_py310.py +43 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/insert/tutorial002.py +42 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/insert/tutorial002_py310.py +40 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/insert/tutorial003.py +43 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/insert/tutorial003_py310.py +41 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/many_to_many/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/many_to_many/tutorial001.py +84 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/many_to_many/tutorial001_py310.py +78 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/many_to_many/tutorial001_py39.py +84 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/many_to_many/tutorial002.py +107 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/many_to_many/tutorial002_py310.py +101 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/many_to_many/tutorial002_py39.py +107 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/many_to_many/tutorial003.py +123 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/many_to_many/tutorial003_py310.py +117 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/many_to_many/tutorial003_py39.py +123 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/offset_and_limit/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/offset_and_limit/tutorial001.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/offset_and_limit/tutorial001_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/offset_and_limit/tutorial002.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/offset_and_limit/tutorial002_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/offset_and_limit/tutorial003.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/offset_and_limit/tutorial003_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/offset_and_limit/tutorial004.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/offset_and_limit/tutorial004_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial001.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial001_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial002.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial002_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial003.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial003_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial004.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial004_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial005.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial005_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial006.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial006_py310.py +55 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial007.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial007_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial008.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial008_py310.py +55 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial009.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/one/tutorial009_py310.py +55 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/back_populates/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/back_populates/tutorial001.py +143 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/back_populates/tutorial001_py310.py +141 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/back_populates/tutorial001_py39.py +143 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/back_populates/tutorial002.py +143 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/back_populates/tutorial002_py310.py +141 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/back_populates/tutorial002_py39.py +143 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/back_populates/tutorial003.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/back_populates/tutorial003_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/back_populates/tutorial003_py39.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/create_and_update_relationships/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/create_and_update_relationships/tutorial001.py +102 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/create_and_update_relationships/tutorial001_py310.py +100 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/create_and_update_relationships/tutorial001_py39.py +102 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/define_relationship_attributes/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/define_relationship_attributes/tutorial001.py +70 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/define_relationship_attributes/tutorial001_py310.py +68 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/define_relationship_attributes/tutorial001_py39.py +70 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/read_relationships/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/read_relationships/tutorial001.py +117 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/read_relationships/tutorial001_py310.py +115 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/read_relationships/tutorial001_py39.py +117 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/read_relationships/tutorial002.py +127 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/read_relationships/tutorial002_py310.py +125 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/relationship_attributes/read_relationships/tutorial002_py39.py +127 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/select/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/select/annotations/en/tutorial002.md +63 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/select/tutorial001.py +51 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/select/tutorial001_py310.py +49 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/select/tutorial002.py +52 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/select/tutorial002_py310.py +50 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/select/tutorial003.py +51 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/select/tutorial003_py310.py +49 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/select/tutorial004.py +49 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/select/tutorial004_py310.py +47 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/update/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/update/annotations/en/tutorial002.md +68 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/update/annotations/en/tutorial004.md +159 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/update/tutorial001.py +65 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/update/tutorial001_py310.py +63 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/update/tutorial002.py +65 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/update/tutorial002_py310.py +63 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/update/tutorial003.py +79 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/update/tutorial003_py310.py +77 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/update/tutorial004.py +80 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/update/tutorial004_py310.py +78 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial001.py +51 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial001_py310.py +49 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial002.py +51 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial002_py310.py +49 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial003.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial003_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial004.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial004_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial005.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial005_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial006.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial006_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial007.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial007_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial008.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial008_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial009.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial009_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial010.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial010_py310.py +57 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial011.py +59 -0
- sqlmodel-0.0.17.dev2/docs_src/tutorial/where/tutorial011_py310.py +57 -0
- sqlmodel-0.0.17.dev2/pyproject.toml +122 -0
- sqlmodel-0.0.17.dev2/requirements-docs-tests.txt +2 -0
- sqlmodel-0.0.17.dev2/requirements-docs.txt +18 -0
- sqlmodel-0.0.17.dev2/requirements-tests.txt +12 -0
- sqlmodel-0.0.17.dev2/requirements.txt +6 -0
- sqlmodel-0.0.17.dev2/scripts/docs-live.sh +7 -0
- sqlmodel-0.0.17.dev2/scripts/docs.py +155 -0
- sqlmodel-0.0.17.dev2/scripts/format.sh +5 -0
- sqlmodel-0.0.17.dev2/scripts/generate_select.py +63 -0
- sqlmodel-0.0.17.dev2/scripts/lint.sh +8 -0
- sqlmodel-0.0.17.dev2/scripts/publish.sh +5 -0
- sqlmodel-0.0.17.dev2/scripts/test-files.sh +7 -0
- sqlmodel-0.0.17.dev2/scripts/test.sh +10 -0
- sqlmodel-0.0.17.dev2/scripts/zip-docs.sh +11 -0
- {sqlmodel-0.0.16 → sqlmodel-0.0.17.dev2}/sqlmodel/__init__.py +1 -1
- {sqlmodel-0.0.16 → sqlmodel-0.0.17.dev2}/sqlmodel/_compat.py +3 -1
- sqlmodel-0.0.17.dev2/sqlmodel/ext/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/sqlmodel/ext/asyncio/__init__.py +0 -0
- {sqlmodel-0.0.16 → sqlmodel-0.0.17.dev2}/sqlmodel/main.py +19 -1
- sqlmodel-0.0.17.dev2/sqlmodel/orm/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/sqlmodel/py.typed +0 -0
- sqlmodel-0.0.17.dev2/sqlmodel/sql/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/sqlmodel/sql/expression.py.jinja2 +309 -0
- sqlmodel-0.0.17.dev2/tests/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/conftest.py +80 -0
- sqlmodel-0.0.17.dev2/tests/test_advanced/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_advanced/test_decimal/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_advanced/test_decimal/test_tutorial001.py +44 -0
- sqlmodel-0.0.17.dev2/tests/test_advanced/test_decimal/test_tutorial001_py310.py +45 -0
- sqlmodel-0.0.17.dev2/tests/test_default.py +44 -0
- sqlmodel-0.0.17.dev2/tests/test_deprecations.py +30 -0
- sqlmodel-0.0.17.dev2/tests/test_enums.py +148 -0
- sqlmodel-0.0.17.dev2/tests/test_field_sa_args_kwargs.py +39 -0
- sqlmodel-0.0.17.dev2/tests/test_field_sa_column.py +110 -0
- sqlmodel-0.0.17.dev2/tests/test_field_sa_relationship.py +53 -0
- sqlmodel-0.0.17.dev2/tests/test_fields_set.py +22 -0
- sqlmodel-0.0.17.dev2/tests/test_instance_no_args.py +35 -0
- sqlmodel-0.0.17.dev2/tests/test_main.py +127 -0
- sqlmodel-0.0.17.dev2/tests/test_missing_type.py +22 -0
- sqlmodel-0.0.17.dev2/tests/test_nullable.py +125 -0
- sqlmodel-0.0.17.dev2/tests/test_pydantic/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_pydantic/test_field.py +57 -0
- sqlmodel-0.0.17.dev2/tests/test_query.py +28 -0
- sqlmodel-0.0.17.dev2/tests/test_sqlalchemy_type_errors.py +28 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_automatic_id_none_refresh/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_automatic_id_none_refresh/test_tutorial001_py310_tutorial002_py310.py +163 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_automatic_id_none_refresh/test_tutorial001_tutorial002.py +161 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_code_structure/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_code_structure/test_tutorial001.py +37 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_code_structure/test_tutorial001_py310.py +38 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_code_structure/test_tutorial001_py39.py +38 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_code_structure/test_tutorial002.py +37 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_code_structure/test_tutorial002_py310.py +38 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_code_structure/test_tutorial002_py39.py +38 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_create_connected_tables/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_create_connected_tables/test_tutorial001.py +14 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_create_connected_tables/test_tutorial001_py310.py +17 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_delete/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_delete/test_tutorial001.py +72 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_delete/test_tutorial001_py310.py +73 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_insert/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_insert/test_tutorial001.py +52 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_insert/test_tutorial001_py310.py +53 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_select/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_select/test_tutorial001_py310_tutorial002_py310.py +92 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_select/test_tutorial001_tutorial002.py +90 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_select/test_tutorial003.py +88 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_select/test_tutorial003_py310.py +89 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_select/test_tutorial004.py +62 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_select/test_tutorial004_py310.py +63 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_select/test_tutorial005.py +64 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_select/test_tutorial005_py310.py +65 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_update/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_update/test_tutorial001.py +62 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_connect/test_update/test_tutorial001_py310.py +63 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_create_db_and_table/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_create_db_and_table/test_tutorial001.py +18 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_create_db_and_table/test_tutorial001_py310.py +19 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_create_db_and_table/test_tutorial002.py +13 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_create_db_and_table/test_tutorial002_py310.py +16 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_create_db_and_table/test_tutorial003.py +13 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_create_db_and_table/test_tutorial003_py310.py +16 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_delete/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_delete/test_tutorial001_py310_tutorial002_py310.py +88 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_delete/test_tutorial001_tutorial002.py +86 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_app_testing/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_py310_tests_main.py +25 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_py39_tests_main.py +25 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests001.py +18 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests002.py +18 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests003.py +18 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests004.py +18 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests005.py +24 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests006.py +27 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests_main.py +22 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_delete/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_delete/test_tutorial001.py +374 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_delete/test_tutorial001_py310.py +377 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_delete/test_tutorial001_py39.py +377 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_limit_and_offset/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_limit_and_offset/test_tutorial001.py +271 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_limit_and_offset/test_tutorial001_py310.py +274 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_limit_and_offset/test_tutorial001_py39.py +274 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_multiple_models/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial001.py +218 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial001_py310.py +220 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial001_py39.py +221 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial002.py +218 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial002_py310.py +221 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial002_py39.py +221 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_read_one/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_read_one/test_tutorial001.py +216 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_read_one/test_tutorial001_py310.py +219 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_read_one/test_tutorial001_py39.py +219 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_relationships/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_relationships/test_tutorial001.py +764 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_relationships/test_tutorial001_py310.py +767 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_relationships/test_tutorial001_py39.py +767 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_response_model/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_response_model/test_tutorial001.py +159 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_response_model/test_tutorial001_py310.py +162 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_response_model/test_tutorial001_py39.py +162 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_session_with_dependency/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_session_with_dependency/test_tutorial001.py +374 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_session_with_dependency/test_tutorial001_py310.py +379 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_session_with_dependency/test_tutorial001_py39.py +379 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_simple_hero_api/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_simple_hero_api/test_tutorial001.py +165 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_simple_hero_api/test_tutorial001_py310.py +168 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_teams/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_teams/test_tutorial001.py +683 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_teams/test_tutorial001_py310.py +686 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_teams/test_tutorial001_py39.py +686 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_update/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_update/test_tutorial001.py +353 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_update/test_tutorial001_py310.py +356 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_update/test_tutorial001_py39.py +356 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_update/test_tutorial002.py +427 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_update/test_tutorial002_py310.py +430 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_fastapi/test_update/test_tutorial002_py39.py +430 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_indexes/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_indexes/test_tutorial001.py +45 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_indexes/test_tutorial001_py310.py +46 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_indexes/test_tutorial002.py +46 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_indexes/test_tutorial002_py310.py +47 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_insert/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_insert/test_tutorial001.py +27 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_insert/test_tutorial001_py310.py +30 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_insert/test_tutorial002.py +27 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_insert/test_tutorial002_py310.py +30 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_insert/test_tutorial003.py +27 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_insert/test_tutorial003_py310.py +30 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_limit_and_offset/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_limit_and_offset/test_tutorial001.py +34 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_limit_and_offset/test_tutorial001_py310.py +35 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_limit_and_offset/test_tutorial002.py +34 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_limit_and_offset/test_tutorial002_py310.py +35 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_limit_and_offset/test_tutorial003.py +32 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_limit_and_offset/test_tutorial003_py310.py +33 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_limit_and_offset/test_tutorial004.py +26 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_limit_and_offset/test_tutorial004_py310.py +27 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_many_to_many/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_many_to_many/test_tutorial001.py +49 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_many_to_many/test_tutorial001_py310.py +50 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_many_to_many/test_tutorial001_py39.py +50 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_many_to_many/test_tutorial002.py +76 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_many_to_many/test_tutorial002_py310.py +77 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_many_to_many/test_tutorial002_py39.py +77 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_many_to_many/test_tutorial003.py +72 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_many_to_many/test_tutorial003_py310.py +73 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_many_to_many/test_tutorial003_py39.py +73 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial001.py +29 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial001_py310.py +30 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial002.py +19 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial002_py310.py +20 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial003.py +24 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial003_py310.py +25 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial004.py +40 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial004_py310.py +41 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial005.py +40 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial005_py310.py +41 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial006.py +24 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial006_py310.py +25 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial007.py +24 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial007_py310.py +25 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial008.py +24 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial008_py310.py +25 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial009.py +19 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_one/test_tutorial009_py310.py +20 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_back_populates/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial001.py +289 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial001_py310.py +290 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial001_py39.py +290 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial002.py +279 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial002_py310.py +280 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial002_py39.py +280 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial003.py +18 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial003_py310.py +21 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial003_py39.py +21 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships/test_tutorial001.py +98 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships/test_tutorial001_py310.py +99 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships/test_tutorial001_py39.py +99 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes/test_tutorial001.py +54 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes/test_tutorial001_py310.py +55 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes/test_tutorial001_py39.py +55 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_read_relationships/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial001.py +106 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial001_py310.py +107 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial001_py39.py +107 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial002.py +148 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial002_py310.py +149 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial002_py39.py +149 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_select/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_select/test_tutorial001_py310_tutorial002_py310.py +57 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_select/test_tutorial001_tutorial002.py +55 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_select/test_tutorial003_py310_tutorial004_py310.py +59 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_select/test_tutorial003_tutorial004.py +57 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_update/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_update/test_tutorial001_py310_tutorial002_py310.py +56 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_update/test_tutorial001_tutorial002.py +54 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_update/test_tutorial003_py310_tutorial004_py310.py +69 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_update/test_tutorial003_tutorial004.py +67 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/__init__.py +0 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial001.py +28 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial001_py310.py +29 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial002.py +29 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial002_py310.py +30 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial003.py +36 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial003_py310.py +37 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial004.py +36 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial004_py310.py +37 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial005.py +21 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial005_py310.py +22 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial006.py +22 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial006_py310.py +23 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial007.py +22 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial007_py310.py +23 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial008.py +22 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial008_py310.py +23 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial009.py +30 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial009_py310.py +31 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial010.py +30 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial010_py310.py +31 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial011.py +36 -0
- sqlmodel-0.0.17.dev2/tests/test_tutorial/test_where/test_tutorial011_py310.py +37 -0
- sqlmodel-0.0.17.dev2/tests/test_validation.py +65 -0
- sqlmodel-0.0.16/pyproject.toml +0 -120
- {sqlmodel-0.0.16 → sqlmodel-0.0.17.dev2}/LICENSE +0 -0
- {sqlmodel-0.0.16 → sqlmodel-0.0.17.dev2}/README.md +0 -0
- {sqlmodel-0.0.16/sqlmodel/ext → sqlmodel-0.0.17.dev2/docs_src}/__init__.py +0 -0
- {sqlmodel-0.0.16/sqlmodel/ext/asyncio → sqlmodel-0.0.17.dev2/docs_src/advanced}/__init__.py +0 -0
- {sqlmodel-0.0.16/sqlmodel/orm → sqlmodel-0.0.17.dev2/docs_src/advanced/decimal}/__init__.py +0 -0
- {sqlmodel-0.0.16/sqlmodel/sql → sqlmodel-0.0.17.dev2/docs_src/tutorial}/__init__.py +0 -0
- /sqlmodel-0.0.16/sqlmodel/py.typed → /sqlmodel-0.0.17.dev2/docs_src/tutorial/automatic_id_none_refresh/__init__.py +0 -0
- {sqlmodel-0.0.16 → sqlmodel-0.0.17.dev2}/sqlmodel/default.py +0 -0
- {sqlmodel-0.0.16 → sqlmodel-0.0.17.dev2}/sqlmodel/ext/asyncio/session.py +0 -0
- {sqlmodel-0.0.16 → sqlmodel-0.0.17.dev2}/sqlmodel/orm/session.py +0 -0
- {sqlmodel-0.0.16 → sqlmodel-0.0.17.dev2}/sqlmodel/pool/__init__.py +0 -0
- {sqlmodel-0.0.16 → sqlmodel-0.0.17.dev2}/sqlmodel/sql/base.py +0 -0
- {sqlmodel-0.0.16 → sqlmodel-0.0.17.dev2}/sqlmodel/sql/expression.py +0 -0
- {sqlmodel-0.0.16 → sqlmodel-0.0.17.dev2}/sqlmodel/sql/sqltypes.py +0 -0
|
@@ -1,36 +1,33 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: sqlmodel
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.17.dev2
|
|
4
4
|
Summary: SQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness.
|
|
5
|
-
|
|
6
|
-
License: MIT
|
|
7
|
-
Author: Sebastián Ramírez
|
|
8
|
-
Author-email: tiangolo@gmail.com
|
|
9
|
-
Requires-Python: >=3.7,<4.0
|
|
5
|
+
Author-Email: =?utf-8?q?Sebasti=C3=A1n_Ram=C3=ADrez?= <tiangolo@gmail.com>
|
|
10
6
|
Classifier: Development Status :: 4 - Beta
|
|
11
7
|
Classifier: Framework :: AsyncIO
|
|
12
8
|
Classifier: Intended Audience :: Developers
|
|
13
9
|
Classifier: Intended Audience :: Science/Research
|
|
14
10
|
Classifier: Intended Audience :: System Administrators
|
|
15
11
|
Classifier: License :: OSI Approved :: MIT License
|
|
16
|
-
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
17
13
|
Classifier: Programming Language :: Python :: 3.7
|
|
18
14
|
Classifier: Programming Language :: Python :: 3.8
|
|
19
15
|
Classifier: Programming Language :: Python :: 3.9
|
|
20
16
|
Classifier: Programming Language :: Python :: 3.10
|
|
21
17
|
Classifier: Programming Language :: Python :: 3.11
|
|
22
|
-
Classifier: Programming Language :: Python :: 3 :: Only
|
|
23
18
|
Classifier: Programming Language :: Python :: 3.12
|
|
24
19
|
Classifier: Topic :: Database
|
|
25
20
|
Classifier: Topic :: Database :: Database Engines/Servers
|
|
26
21
|
Classifier: Topic :: Internet
|
|
27
|
-
Classifier: Topic :: Internet :: WWW/HTTP
|
|
28
22
|
Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
|
|
23
|
+
Classifier: Topic :: Internet :: WWW/HTTP
|
|
29
24
|
Classifier: Typing :: Typed
|
|
30
|
-
|
|
31
|
-
Requires-Dist: pydantic (>=1.10.13,<3.0.0)
|
|
25
|
+
Project-URL: Homepage, https://github.com/tiangolo/sqlmodel
|
|
32
26
|
Project-URL: Documentation, https://sqlmodel.tiangolo.com
|
|
33
27
|
Project-URL: Repository, https://github.com/tiangolo/sqlmodel
|
|
28
|
+
Requires-Python: >=3.7
|
|
29
|
+
Requires-Dist: SQLAlchemy<2.1.0,>=2.0.0
|
|
30
|
+
Requires-Dist: pydantic<3.0.0,>=1.10.13
|
|
34
31
|
Description-Content-Type: text/markdown
|
|
35
32
|
|
|
36
33
|
<p align="center">
|
|
@@ -255,4 +252,3 @@ And at the same time, ✨ it is also a **Pydantic** model ✨. You can use inher
|
|
|
255
252
|
## License
|
|
256
253
|
|
|
257
254
|
This project is licensed under the terms of the [MIT license](https://github.com/tiangolo/sqlmodel/blob/main/LICENSE).
|
|
258
|
-
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
from decimal import Decimal
|
|
2
|
+
from typing import Optional
|
|
3
|
+
|
|
4
|
+
from sqlmodel import Field, Session, SQLModel, create_engine, select
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class Hero(SQLModel, table=True):
|
|
8
|
+
id: Optional[int] = Field(default=None, primary_key=True)
|
|
9
|
+
name: str = Field(index=True)
|
|
10
|
+
secret_name: str
|
|
11
|
+
age: Optional[int] = Field(default=None, index=True)
|
|
12
|
+
money: Decimal = Field(default=0, max_digits=5, decimal_places=3)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
sqlite_file_name = "database.db"
|
|
16
|
+
sqlite_url = f"sqlite:///{sqlite_file_name}"
|
|
17
|
+
|
|
18
|
+
engine = create_engine(sqlite_url, echo=True)
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
def create_db_and_tables():
|
|
22
|
+
SQLModel.metadata.create_all(engine)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
def create_heroes():
|
|
26
|
+
hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson", money=1.1)
|
|
27
|
+
hero_2 = Hero(name="Spider-Boy", secret_name="Pedro Parqueador", money=0.001)
|
|
28
|
+
hero_3 = Hero(name="Rusty-Man", secret_name="Tommy Sharp", age=48, money=2.2)
|
|
29
|
+
|
|
30
|
+
with Session(engine) as session:
|
|
31
|
+
session.add(hero_1)
|
|
32
|
+
session.add(hero_2)
|
|
33
|
+
session.add(hero_3)
|
|
34
|
+
|
|
35
|
+
session.commit()
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def select_heroes():
|
|
39
|
+
with Session(engine) as session:
|
|
40
|
+
statement = select(Hero).where(Hero.name == "Deadpond")
|
|
41
|
+
results = session.exec(statement)
|
|
42
|
+
hero_1 = results.one()
|
|
43
|
+
print("Hero 1:", hero_1)
|
|
44
|
+
|
|
45
|
+
statement = select(Hero).where(Hero.name == "Rusty-Man")
|
|
46
|
+
results = session.exec(statement)
|
|
47
|
+
hero_2 = results.one()
|
|
48
|
+
print("Hero 2:", hero_2)
|
|
49
|
+
|
|
50
|
+
total_money = hero_1.money + hero_2.money
|
|
51
|
+
print(f"Total money: {total_money}")
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def main():
|
|
55
|
+
create_db_and_tables()
|
|
56
|
+
create_heroes()
|
|
57
|
+
select_heroes()
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
if __name__ == "__main__":
|
|
61
|
+
main()
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
from decimal import Decimal
|
|
2
|
+
|
|
3
|
+
from sqlmodel import Field, Session, SQLModel, create_engine, select
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Hero(SQLModel, table=True):
|
|
7
|
+
id: int | None = Field(default=None, primary_key=True)
|
|
8
|
+
name: str = Field(index=True)
|
|
9
|
+
secret_name: str
|
|
10
|
+
age: int | None = Field(default=None, index=True)
|
|
11
|
+
money: Decimal = Field(default=0, max_digits=5, decimal_places=3)
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
sqlite_file_name = "database.db"
|
|
15
|
+
sqlite_url = f"sqlite:///{sqlite_file_name}"
|
|
16
|
+
|
|
17
|
+
engine = create_engine(sqlite_url, echo=True)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def create_db_and_tables():
|
|
21
|
+
SQLModel.metadata.create_all(engine)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def create_heroes():
|
|
25
|
+
hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson", money=1.1)
|
|
26
|
+
hero_2 = Hero(name="Spider-Boy", secret_name="Pedro Parqueador", money=0.001)
|
|
27
|
+
hero_3 = Hero(name="Rusty-Man", secret_name="Tommy Sharp", age=48, money=2.2)
|
|
28
|
+
|
|
29
|
+
with Session(engine) as session:
|
|
30
|
+
session.add(hero_1)
|
|
31
|
+
session.add(hero_2)
|
|
32
|
+
session.add(hero_3)
|
|
33
|
+
|
|
34
|
+
session.commit()
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
def select_heroes():
|
|
38
|
+
with Session(engine) as session:
|
|
39
|
+
statement = select(Hero).where(Hero.name == "Deadpond")
|
|
40
|
+
results = session.exec(statement)
|
|
41
|
+
hero_1 = results.one()
|
|
42
|
+
print("Hero 1:", hero_1)
|
|
43
|
+
|
|
44
|
+
statement = select(Hero).where(Hero.name == "Rusty-Man")
|
|
45
|
+
results = session.exec(statement)
|
|
46
|
+
hero_2 = results.one()
|
|
47
|
+
print("Hero 2:", hero_2)
|
|
48
|
+
|
|
49
|
+
total_money = hero_1.money + hero_2.money
|
|
50
|
+
print(f"Total money: {total_money}")
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
def main():
|
|
54
|
+
create_db_and_tables()
|
|
55
|
+
create_heroes()
|
|
56
|
+
select_heroes()
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
if __name__ == "__main__":
|
|
60
|
+
main()
|
sqlmodel-0.0.17.dev2/docs_src/tutorial/automatic_id_none_refresh/annotations/en/tutorial002.md
ADDED
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
1. Create the `hero_1`.
|
|
2
|
+
|
|
3
|
+
**Doesn't generate any output**.
|
|
4
|
+
|
|
5
|
+
2. Create the `hero_2`.
|
|
6
|
+
|
|
7
|
+
**Doesn't generate any output**.
|
|
8
|
+
|
|
9
|
+
3. Create the `hero_3`.
|
|
10
|
+
|
|
11
|
+
**Doesn't generate any output**.
|
|
12
|
+
|
|
13
|
+
4. Print the line `"Before interacting with the database"`.
|
|
14
|
+
|
|
15
|
+
Generates the output:
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
Before interacting with the database
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
5. Print the `hero_1` before interacting with the database.
|
|
22
|
+
|
|
23
|
+
Generates the output:
|
|
24
|
+
|
|
25
|
+
```
|
|
26
|
+
Hero 1: id=None name='Deadpond' secret_name='Dive Wilson' age=None
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
6. Print the `hero_2` before interacting with the database.
|
|
30
|
+
|
|
31
|
+
Generates the output:
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
Hero 2: id=None name='Spider-Boy' secret_name='Pedro Parqueador' age=None
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
7. Print the `hero_3` before interacting with the database.
|
|
38
|
+
|
|
39
|
+
Generates the output:
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
Hero 3: id=None name='Rusty-Man' secret_name='Tommy Sharp' age=48
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
8. Create the `Session` in a `with` block.
|
|
46
|
+
|
|
47
|
+
**Doesn't generate any output**.
|
|
48
|
+
|
|
49
|
+
9. Add the `hero_1` to the session.
|
|
50
|
+
|
|
51
|
+
This still doesn't save it to the database.
|
|
52
|
+
|
|
53
|
+
**Doesn't generate any output**.
|
|
54
|
+
|
|
55
|
+
10. Add the `hero_2` to the session.
|
|
56
|
+
|
|
57
|
+
This still doesn't save it to the database.
|
|
58
|
+
|
|
59
|
+
**Doesn't generate any output**.
|
|
60
|
+
|
|
61
|
+
11. Add the `hero_3` to the session.
|
|
62
|
+
|
|
63
|
+
This still doesn't save it to the database.
|
|
64
|
+
|
|
65
|
+
**Doesn't generate any output**.
|
|
66
|
+
|
|
67
|
+
12. Print the line `"After adding to the session"`.
|
|
68
|
+
|
|
69
|
+
Generates the output:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
After adding to the session
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
13. Print the `hero_1` after adding it to the session.
|
|
76
|
+
|
|
77
|
+
It still has the same data as there hasn't been any interaction with the database yet. Notice that the `id` is still `None`.
|
|
78
|
+
|
|
79
|
+
Generates the output:
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
Hero 1: id=None name='Deadpond' secret_name='Dive Wilson' age=None
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
14. Print the `hero_2` after adding it to the session.
|
|
86
|
+
|
|
87
|
+
It still has the same data as there hasn't been any interaction with the database yet. Notice that the `id` is still `None`.
|
|
88
|
+
|
|
89
|
+
Generates the output:
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
Hero 2: id=None name='Spider-Boy' secret_name='Pedro Parqueador' age=None
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
15. Print the `hero_3` after adding it to the session.
|
|
96
|
+
|
|
97
|
+
It still has the same data as there hasn't been any interaction with the database yet. Notice that the `id` is still `None`.
|
|
98
|
+
|
|
99
|
+
Generates the output:
|
|
100
|
+
|
|
101
|
+
```
|
|
102
|
+
Hero 3: id=None name='Rusty-Man' secret_name='Tommy Sharp' age=48
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
16. `commit` the **session**.
|
|
106
|
+
|
|
107
|
+
This will **save** all the data to the database. The **session** will use the **engine** to run a lot of SQL.
|
|
108
|
+
|
|
109
|
+
Generates the output:
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
INFO Engine BEGIN (implicit)
|
|
113
|
+
INFO Engine INSERT INTO hero (name, secret_name, age) VALUES (?, ?, ?)
|
|
114
|
+
INFO Engine [generated in 0.00018s] ('Deadpond', 'Dive Wilson', None)
|
|
115
|
+
INFO Engine INSERT INTO hero (name, secret_name, age) VALUES (?, ?, ?)
|
|
116
|
+
INFO Engine [cached since 0.0008968s ago] ('Spider-Boy', 'Pedro Parqueador', None)
|
|
117
|
+
INFO Engine INSERT INTO hero (name, secret_name, age) VALUES (?, ?, ?)
|
|
118
|
+
INFO Engine [cached since 0.001143s ago] ('Rusty-Man', 'Tommy Sharp', 48)
|
|
119
|
+
INFO Engine COMMIT
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
17. Print the line `"After committing the session"`.
|
|
123
|
+
|
|
124
|
+
Generates the output:
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
After committing the session
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
18. Print the `hero_1` after committing the session.
|
|
131
|
+
|
|
132
|
+
The `hero_1` is now internally marked as expired, and until it is refreshed, it looks like if it didn't contain any data.
|
|
133
|
+
|
|
134
|
+
Generates the output:
|
|
135
|
+
|
|
136
|
+
```
|
|
137
|
+
Hero 1:
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
19. Print the `hero_2` after committing the session.
|
|
141
|
+
|
|
142
|
+
The `hero_2` is now internally marked as expired, and until it is refreshed, it looks like if it didn't contain any data.
|
|
143
|
+
|
|
144
|
+
Generates the output:
|
|
145
|
+
|
|
146
|
+
```
|
|
147
|
+
Hero 2:
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
20. Print the `hero_3` after committing the session.
|
|
151
|
+
|
|
152
|
+
The `hero_3` is now internally marked as expired, and until it is refreshed, it looks like if it didn't contain any data.
|
|
153
|
+
|
|
154
|
+
Generates the output:
|
|
155
|
+
|
|
156
|
+
```
|
|
157
|
+
Hero 3:
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
21. Print the line `"After committing the session, show IDs"`.
|
|
161
|
+
|
|
162
|
+
Generates the output:
|
|
163
|
+
|
|
164
|
+
```
|
|
165
|
+
After committing the session, show IDs
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
22. Print the `hero_1.id`. A lot happens here.
|
|
169
|
+
|
|
170
|
+
Because we are accessing the attribute `id` of `hero_1`, **SQLModel** (actually SQLAlchemy) can detect that we are trying to access data from the `hero_1`.
|
|
171
|
+
|
|
172
|
+
It then detects that `hero_1` is currently associated with a **session** (because we added it to the session and committed it), and it is marked as expired.
|
|
173
|
+
|
|
174
|
+
Then with the **session**, it uses the **engine** to execute all the SQL to fetch the data for this object from the database.
|
|
175
|
+
|
|
176
|
+
Next it updates the object with the new data and marks it internally as "fresh" or "not expired".
|
|
177
|
+
|
|
178
|
+
Finally, it makes the ID value available for the rest of the Python expression. In this case, the Python expression just prints the ID.
|
|
179
|
+
|
|
180
|
+
Generates the output:
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
INFO Engine BEGIN (implicit)
|
|
184
|
+
INFO Engine SELECT hero.id AS hero_id, hero.name AS hero_name, hero.secret_name AS hero_secret_name, hero.age AS hero_age
|
|
185
|
+
FROM hero
|
|
186
|
+
WHERE hero.id = ?
|
|
187
|
+
INFO Engine [generated in 0.00017s] (1,)
|
|
188
|
+
|
|
189
|
+
Hero 1 ID: 1
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
23. Print the `hero_2.id`.
|
|
193
|
+
|
|
194
|
+
A lot happens here, all the same stuff that happened at point 22, but for this `hero_2` object.
|
|
195
|
+
|
|
196
|
+
Generates the output:
|
|
197
|
+
|
|
198
|
+
```
|
|
199
|
+
INFO Engine SELECT hero.id AS hero_id, hero.name AS hero_name, hero.secret_name AS hero_secret_name, hero.age AS hero_age
|
|
200
|
+
FROM hero
|
|
201
|
+
WHERE hero.id = ?
|
|
202
|
+
INFO Engine [cached since 0.001245s ago] (2,)
|
|
203
|
+
|
|
204
|
+
Hero 2 ID: 2
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
24. Print the `hero_3.id`.
|
|
208
|
+
|
|
209
|
+
A lot happens here, all the same stuff that happened at point 22, but for this `hero_3` object.
|
|
210
|
+
|
|
211
|
+
Generates the output:
|
|
212
|
+
|
|
213
|
+
```
|
|
214
|
+
INFO Engine SELECT hero.id AS hero_id, hero.name AS hero_name, hero.secret_name AS hero_secret_name, hero.age AS hero_age
|
|
215
|
+
FROM hero
|
|
216
|
+
WHERE hero.id = ?
|
|
217
|
+
INFO Engine [cached since 0.002215s ago] (3,)
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
Hero 3 ID: 3
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
25. Print the line `"After committing the session, show names"`.
|
|
224
|
+
|
|
225
|
+
Generates the output:
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
After committing the session, show names
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
26. Print the `hero_1.name`.
|
|
232
|
+
|
|
233
|
+
Because `hero_1` is still fresh, no additional data is fetched, no additional SQL is executed, and the name is available.
|
|
234
|
+
|
|
235
|
+
Generates the output:
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
Hero 1 name: Deadpond
|
|
239
|
+
```
|
|
240
|
+
|
|
241
|
+
27. Print the `hero_2.name`.
|
|
242
|
+
|
|
243
|
+
Because `hero_2` is still fresh, no additional data is fetched, no additional SQL is executed, and the name is available.
|
|
244
|
+
|
|
245
|
+
Generates the output:
|
|
246
|
+
|
|
247
|
+
```
|
|
248
|
+
Hero 2 name: Spider-Boy
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
28. Print the `hero_3.name`.
|
|
252
|
+
|
|
253
|
+
Because `hero_3` is still fresh, no additional data is fetched, no additional SQL is executed, and the name is available.
|
|
254
|
+
|
|
255
|
+
Generates the output:
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
Hero 3 name: Rusty-Man
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
29. Explicitly refresh the `hero_1` object.
|
|
262
|
+
|
|
263
|
+
The **session** will use the **engine** to execute the SQL necessary to fetch fresh data from the database for the `hero_1` object.
|
|
264
|
+
|
|
265
|
+
Generates the output:
|
|
266
|
+
|
|
267
|
+
```
|
|
268
|
+
INFO Engine SELECT hero.id, hero.name, hero.secret_name, hero.age
|
|
269
|
+
FROM hero
|
|
270
|
+
WHERE hero.id = ?
|
|
271
|
+
INFO Engine [generated in 0.00024s] (1,)
|
|
272
|
+
```
|
|
273
|
+
|
|
274
|
+
30. Explicitly refresh the `hero_2` object.
|
|
275
|
+
|
|
276
|
+
The **session** will use the **engine** to execute the SQL necessary to fetch fresh data from the database for the `hero_2` object.
|
|
277
|
+
|
|
278
|
+
Generates the output:
|
|
279
|
+
|
|
280
|
+
```
|
|
281
|
+
INFO Engine SELECT hero.id, hero.name, hero.secret_name, hero.age
|
|
282
|
+
FROM hero
|
|
283
|
+
WHERE hero.id = ?
|
|
284
|
+
INFO Engine [cached since 0.001487s ago] (2,)
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
31. Explicitly refresh the `hero_3` object.
|
|
288
|
+
|
|
289
|
+
The **session** will use the **engine** to execute the SQL necessary to fetch fresh data from the database for the `hero_3` object.
|
|
290
|
+
|
|
291
|
+
Generates the output:
|
|
292
|
+
|
|
293
|
+
```
|
|
294
|
+
INFO Engine SELECT hero.id, hero.name, hero.secret_name, hero.age
|
|
295
|
+
FROM hero
|
|
296
|
+
WHERE hero.id = ?
|
|
297
|
+
INFO Engine [cached since 0.002377s ago] (3,)
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
32. Print the line `"After refreshing the heroes"`.
|
|
301
|
+
|
|
302
|
+
Generates the output:
|
|
303
|
+
|
|
304
|
+
```
|
|
305
|
+
After refreshing the heroes
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
33. Print the `hero_1`.
|
|
309
|
+
|
|
310
|
+
!!! info
|
|
311
|
+
Even if the `hero_1` wasn't fresh, this would **not** trigger a `refresh` making the **session** use the **engine** to fetch data from the database because it is not accessing an attribute.
|
|
312
|
+
|
|
313
|
+
Because the `hero_1` is fresh it has all it's data available.
|
|
314
|
+
|
|
315
|
+
Generates the output:
|
|
316
|
+
|
|
317
|
+
```
|
|
318
|
+
Hero 1: age=None id=1 name='Deadpond' secret_name='Dive Wilson'
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
34. Print the `hero_2`.
|
|
322
|
+
|
|
323
|
+
!!! info
|
|
324
|
+
Even if the `hero_2` wasn't fresh, this would **not** trigger a `refresh` making the **session** use the **engine** to fetch data from the database because it is not accessing an attribute.
|
|
325
|
+
|
|
326
|
+
Because the `hero_2` is fresh it has all it's data available.
|
|
327
|
+
|
|
328
|
+
Generates the output:
|
|
329
|
+
|
|
330
|
+
```
|
|
331
|
+
Hero 2: age=None id=2 name='Spider-Boy' secret_name='Pedro Parqueador'
|
|
332
|
+
```
|
|
333
|
+
|
|
334
|
+
35. Print the `hero_3`.
|
|
335
|
+
|
|
336
|
+
!!! info
|
|
337
|
+
Even if the `hero_3` wasn't fresh, this would **not** trigger a `refresh` making the **session** use the **engine** to fetch data from the database because it is not accessing an attribute.
|
|
338
|
+
|
|
339
|
+
Because the `hero_3` is fresh it has all it's data available.
|
|
340
|
+
|
|
341
|
+
Generates the output:
|
|
342
|
+
|
|
343
|
+
```
|
|
344
|
+
Hero 3: age=48 id=3 name='Rusty-Man' secret_name='Tommy Sharp'
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
36. The `with` block ends here (there's no more indented code), so the **session** is closed, running all it's closing code.
|
|
348
|
+
|
|
349
|
+
This includes doing a `ROLLBACK` of any possible transaction that could have been started.
|
|
350
|
+
|
|
351
|
+
Generates the output:
|
|
352
|
+
|
|
353
|
+
```
|
|
354
|
+
INFO Engine ROLLBACK
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
37. Print the line `"After the session closes"`.
|
|
358
|
+
|
|
359
|
+
Generates the output:
|
|
360
|
+
|
|
361
|
+
```
|
|
362
|
+
After the session closes
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
38. Print the `hero_1` after closing the session.
|
|
366
|
+
|
|
367
|
+
Generates the output:
|
|
368
|
+
|
|
369
|
+
```
|
|
370
|
+
Hero 1: age=None id=1 name='Deadpond' secret_name='Dive Wilson'
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
39. Print the `hero_2` after closing the session.
|
|
374
|
+
|
|
375
|
+
Generates the output:
|
|
376
|
+
|
|
377
|
+
```
|
|
378
|
+
Hero 2: age=None id=2 name='Spider-Boy' secret_name='Pedro Parqueador'
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
40. Print the `hero_3` after closing the session.
|
|
382
|
+
|
|
383
|
+
Generates the output:
|
|
384
|
+
|
|
385
|
+
```
|
|
386
|
+
Hero 3: age=48 id=3 name='Rusty-Man' secret_name='Tommy Sharp'
|
|
387
|
+
```
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from sqlmodel import Field, Session, SQLModel, create_engine
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Hero(SQLModel, table=True):
|
|
7
|
+
id: Optional[int] = Field(default=None, primary_key=True)
|
|
8
|
+
name: str
|
|
9
|
+
secret_name: str
|
|
10
|
+
age: Optional[int] = None
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
sqlite_file_name = "database.db"
|
|
14
|
+
sqlite_url = f"sqlite:///{sqlite_file_name}"
|
|
15
|
+
|
|
16
|
+
engine = create_engine(sqlite_url, echo=True)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
def create_db_and_tables():
|
|
20
|
+
SQLModel.metadata.create_all(engine)
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def create_heroes():
|
|
24
|
+
hero_1 = Hero(name="Deadpond", secret_name="Dive Wilson")
|
|
25
|
+
hero_2 = Hero(name="Spider-Boy", secret_name="Pedro Parqueador")
|
|
26
|
+
hero_3 = Hero(name="Rusty-Man", secret_name="Tommy Sharp", age=48)
|
|
27
|
+
|
|
28
|
+
print("Before interacting with the database")
|
|
29
|
+
print("Hero 1:", hero_1)
|
|
30
|
+
print("Hero 2:", hero_2)
|
|
31
|
+
print("Hero 3:", hero_3)
|
|
32
|
+
|
|
33
|
+
with Session(engine) as session:
|
|
34
|
+
session.add(hero_1)
|
|
35
|
+
session.add(hero_2)
|
|
36
|
+
session.add(hero_3)
|
|
37
|
+
|
|
38
|
+
print("After adding to the session")
|
|
39
|
+
print("Hero 1:", hero_1)
|
|
40
|
+
print("Hero 2:", hero_2)
|
|
41
|
+
print("Hero 3:", hero_3)
|
|
42
|
+
|
|
43
|
+
session.commit()
|
|
44
|
+
|
|
45
|
+
print("After committing the session")
|
|
46
|
+
print("Hero 1:", hero_1)
|
|
47
|
+
print("Hero 2:", hero_2)
|
|
48
|
+
print("Hero 3:", hero_3)
|
|
49
|
+
|
|
50
|
+
print("After committing the session, show IDs")
|
|
51
|
+
print("Hero 1 ID:", hero_1.id)
|
|
52
|
+
print("Hero 2 ID:", hero_2.id)
|
|
53
|
+
print("Hero 3 ID:", hero_3.id)
|
|
54
|
+
|
|
55
|
+
print("After committing the session, show names")
|
|
56
|
+
print("Hero 1 name:", hero_1.name)
|
|
57
|
+
print("Hero 2 name:", hero_2.name)
|
|
58
|
+
print("Hero 3 name:", hero_3.name)
|
|
59
|
+
|
|
60
|
+
session.refresh(hero_1)
|
|
61
|
+
session.refresh(hero_2)
|
|
62
|
+
session.refresh(hero_3)
|
|
63
|
+
|
|
64
|
+
print("After refreshing the heroes")
|
|
65
|
+
print("Hero 1:", hero_1)
|
|
66
|
+
print("Hero 2:", hero_2)
|
|
67
|
+
print("Hero 3:", hero_3)
|
|
68
|
+
|
|
69
|
+
print("After the session closes")
|
|
70
|
+
print("Hero 1:", hero_1)
|
|
71
|
+
print("Hero 2:", hero_2)
|
|
72
|
+
print("Hero 3:", hero_3)
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
def main():
|
|
76
|
+
create_db_and_tables()
|
|
77
|
+
create_heroes()
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
if __name__ == "__main__":
|
|
81
|
+
main()
|