sqlmodel 0.0.20__tar.gz → 0.0.22__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (606) hide show
  1. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/PKG-INFO +17 -12
  2. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/README.md +12 -9
  3. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/automatic_id_none_refresh/annotations/en/tutorial002.md +15 -6
  4. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/delete/annotations/en/tutorial002.md +6 -3
  5. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/annotations/en/test_main_004.md +5 -2
  6. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_004.md +5 -2
  7. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_004.md +5 -2
  8. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial001.py +110 -0
  9. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial001_py310.py +106 -0
  10. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial001_py39.py +110 -0
  11. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial002.py +110 -0
  12. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial002_py310.py +108 -0
  13. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial002_py39.py +110 -0
  14. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial003.py +112 -0
  15. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial003_py310.py +110 -0
  16. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial003_py39.py +112 -0
  17. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial004.py +111 -0
  18. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial004_py310.py +109 -0
  19. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial004_py39.py +111 -0
  20. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial005.py +124 -0
  21. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial005_py310.py +122 -0
  22. sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships/tutorial005_py39.py +124 -0
  23. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/select/annotations/en/tutorial002.md +6 -3
  24. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/update/annotations/en/tutorial002.md +6 -3
  25. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/update/annotations/en/tutorial004.md +23 -11
  26. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/pyproject.toml +12 -3
  27. sqlmodel-0.0.22/requirements-docs-insiders.txt +3 -0
  28. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/requirements-docs.txt +6 -6
  29. sqlmodel-0.0.22/requirements-github-actions.txt +4 -0
  30. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/requirements-tests.txt +2 -2
  31. sqlmodel-0.0.22/scripts/deploy_docs_status.py +89 -0
  32. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/scripts/docs.py +12 -6
  33. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/scripts/lint.sh +1 -1
  34. sqlmodel-0.0.22/scripts/mkdocs_hooks.py +38 -0
  35. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/scripts/test.sh +1 -1
  36. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/sqlmodel/__init__.py +1 -1
  37. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/sqlmodel/_compat.py +15 -9
  38. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/sqlmodel/main.py +95 -4
  39. sqlmodel-0.0.22/tests/test_annotated_uuid.py +26 -0
  40. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_enums.py +15 -34
  41. sqlmodel-0.0.22/tests/test_enums_models.py +28 -0
  42. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_field_sa_column.py +11 -0
  43. sqlmodel-0.0.22/tests/test_ondelete_raises.py +37 -0
  44. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial001.py +72 -0
  45. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial001_py310.py +73 -0
  46. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial001_py39.py +73 -0
  47. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial002.py +90 -0
  48. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial002_py310.py +91 -0
  49. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial002_py39.py +91 -0
  50. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial003.py +90 -0
  51. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial003_py310.py +91 -0
  52. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial003_py39.py +91 -0
  53. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial004.py +106 -0
  54. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial004_py310.py +107 -0
  55. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial004_py39.py +107 -0
  56. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial005.py +94 -0
  57. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial005_py310.py +95 -0
  58. sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship/test_tutorial005_py39.py +95 -0
  59. sqlmodel-0.0.22/tests/test_tutorial/test_update/__init__.py +0 -0
  60. sqlmodel-0.0.22/tests/test_tutorial/test_where/__init__.py +0 -0
  61. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/LICENSE +0 -0
  62. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/__init__.py +0 -0
  63. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/advanced/__init__.py +0 -0
  64. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/advanced/decimal/__init__.py +0 -0
  65. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/advanced/decimal/tutorial001.py +0 -0
  66. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/advanced/decimal/tutorial001_py310.py +0 -0
  67. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/advanced/uuid/__init__.py +0 -0
  68. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/advanced/uuid/tutorial001.py +0 -0
  69. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/advanced/uuid/tutorial001_py310.py +0 -0
  70. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/advanced/uuid/tutorial002.py +0 -0
  71. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/advanced/uuid/tutorial002_py310.py +0 -0
  72. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/__init__.py +0 -0
  73. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/automatic_id_none_refresh/__init__.py +0 -0
  74. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/automatic_id_none_refresh/tutorial001.py +0 -0
  75. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/automatic_id_none_refresh/tutorial001_py310.py +0 -0
  76. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/automatic_id_none_refresh/tutorial002.py +0 -0
  77. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/automatic_id_none_refresh/tutorial002_py310.py +0 -0
  78. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/__init__.py +0 -0
  79. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial001/__init__.py +0 -0
  80. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial001/app.py +0 -0
  81. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial001/database.py +0 -0
  82. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial001/models.py +0 -0
  83. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial001_py310/__init__.py +0 -0
  84. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial001_py310/app.py +0 -0
  85. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial001_py310/database.py +0 -0
  86. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial001_py310/models.py +0 -0
  87. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial001_py39/__init__.py +0 -0
  88. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial001_py39/app.py +0 -0
  89. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial001_py39/database.py +0 -0
  90. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial001_py39/models.py +0 -0
  91. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002/__init__.py +0 -0
  92. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002/app.py +0 -0
  93. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002/database.py +0 -0
  94. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002/hero_model.py +0 -0
  95. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002/team_model.py +0 -0
  96. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002_py310/__init__.py +0 -0
  97. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002_py310/app.py +0 -0
  98. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002_py310/database.py +0 -0
  99. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002_py310/hero_model.py +0 -0
  100. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002_py310/team_model.py +0 -0
  101. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002_py39/__init__.py +0 -0
  102. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002_py39/app.py +0 -0
  103. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002_py39/database.py +0 -0
  104. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002_py39/hero_model.py +0 -0
  105. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/code_structure/tutorial002_py39/team_model.py +0 -0
  106. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/__init__.py +0 -0
  107. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/create_tables/__init__.py +0 -0
  108. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/create_tables/tutorial001.py +0 -0
  109. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/create_tables/tutorial001_py310.py +0 -0
  110. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/delete/__init__.py +0 -0
  111. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/delete/tutorial001.py +0 -0
  112. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/delete/tutorial001_py310.py +0 -0
  113. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/insert/__init__.py +0 -0
  114. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/insert/tutorial001.py +0 -0
  115. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/insert/tutorial001_py310.py +0 -0
  116. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/select/__init__.py +0 -0
  117. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/select/tutorial001.py +0 -0
  118. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/select/tutorial001_py310.py +0 -0
  119. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/select/tutorial002.py +0 -0
  120. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/select/tutorial002_py310.py +0 -0
  121. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/select/tutorial003.py +0 -0
  122. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/select/tutorial003_py310.py +0 -0
  123. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/select/tutorial004.py +0 -0
  124. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/select/tutorial004_py310.py +0 -0
  125. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/select/tutorial005.py +0 -0
  126. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/select/tutorial005_py310.py +0 -0
  127. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/update/__init__.py +0 -0
  128. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/update/tutorial001.py +0 -0
  129. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/connect/update/tutorial001_py310.py +0 -0
  130. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/create_db_and_table/__init__.py +0 -0
  131. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/create_db_and_table/annotations/en/tutorial003.md +0 -0
  132. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/create_db_and_table/tutorial001.py +0 -0
  133. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/create_db_and_table/tutorial001_py310.py +0 -0
  134. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/create_db_and_table/tutorial002.py +0 -0
  135. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/create_db_and_table/tutorial002_py310.py +0 -0
  136. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/create_db_and_table/tutorial003.py +0 -0
  137. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/create_db_and_table/tutorial003_py310.py +0 -0
  138. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/delete/__init__.py +0 -0
  139. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/delete/tutorial001.py +0 -0
  140. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/delete/tutorial001_py310.py +0 -0
  141. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/delete/tutorial002.py +0 -0
  142. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/delete/tutorial002_py310.py +0 -0
  143. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/__init__.py +0 -0
  144. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/__init__.py +0 -0
  145. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/__init__.py +0 -0
  146. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/annotations/en/test_main_001.md +0 -0
  147. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/annotations/en/test_main_002.md +0 -0
  148. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/annotations/en/test_main_003.md +0 -0
  149. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/annotations/en/test_main_005.md +0 -0
  150. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/annotations/en/test_main_006.md +0 -0
  151. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/main.py +0 -0
  152. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/test_extra_coverage.py +0 -0
  153. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/test_main.py +0 -0
  154. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/test_main_001.py +0 -0
  155. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/test_main_002.py +0 -0
  156. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/test_main_003.py +0 -0
  157. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/test_main_004.py +0 -0
  158. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/test_main_005.py +0 -0
  159. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001/test_main_006.py +0 -0
  160. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/__init__.py +0 -0
  161. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_001.md +0 -0
  162. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_002.md +0 -0
  163. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_003.md +0 -0
  164. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_005.md +0 -0
  165. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/annotations/en/test_main_006.md +0 -0
  166. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/main.py +0 -0
  167. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_extra_coverage.py +0 -0
  168. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main.py +0 -0
  169. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_001.py +0 -0
  170. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_002.py +0 -0
  171. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_003.py +0 -0
  172. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_004.py +0 -0
  173. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_005.py +0 -0
  174. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py310/test_main_006.py +0 -0
  175. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/__init__.py +0 -0
  176. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_001.md +0 -0
  177. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_002.md +0 -0
  178. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_003.md +0 -0
  179. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_005.md +0 -0
  180. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/annotations/en/test_main_006.md +0 -0
  181. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/main.py +0 -0
  182. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_extra_coverage.py +0 -0
  183. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main.py +0 -0
  184. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_001.py +0 -0
  185. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_002.py +0 -0
  186. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_003.py +0 -0
  187. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_004.py +0 -0
  188. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_005.py +0 -0
  189. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/app_testing/tutorial001_py39/test_main_006.py +0 -0
  190. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/delete/__init__.py +0 -0
  191. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/delete/tutorial001.py +0 -0
  192. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/delete/tutorial001_py310.py +0 -0
  193. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/delete/tutorial001_py39.py +0 -0
  194. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/limit_and_offset/__init__.py +0 -0
  195. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/limit_and_offset/tutorial001.py +0 -0
  196. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/limit_and_offset/tutorial001_py310.py +0 -0
  197. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/limit_and_offset/tutorial001_py39.py +0 -0
  198. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/multiple_models/__init__.py +0 -0
  199. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/multiple_models/tutorial001.py +0 -0
  200. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/multiple_models/tutorial001_py310.py +0 -0
  201. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/multiple_models/tutorial001_py39.py +0 -0
  202. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/multiple_models/tutorial002.py +0 -0
  203. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/multiple_models/tutorial002_py310.py +0 -0
  204. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/multiple_models/tutorial002_py39.py +0 -0
  205. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/read_one/__init__.py +0 -0
  206. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/read_one/tutorial001.py +0 -0
  207. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/read_one/tutorial001_py310.py +0 -0
  208. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/read_one/tutorial001_py39.py +0 -0
  209. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/relationships/__init__.py +0 -0
  210. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/relationships/tutorial001.py +0 -0
  211. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/relationships/tutorial001_py310.py +0 -0
  212. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/relationships/tutorial001_py39.py +0 -0
  213. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/response_model/__init__.py +0 -0
  214. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/response_model/tutorial001.py +0 -0
  215. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/response_model/tutorial001_py310.py +0 -0
  216. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/response_model/tutorial001_py39.py +0 -0
  217. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/session_with_dependency/__init__.py +0 -0
  218. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/session_with_dependency/tutorial001.py +0 -0
  219. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/session_with_dependency/tutorial001_py310.py +0 -0
  220. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/session_with_dependency/tutorial001_py39.py +0 -0
  221. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/simple_hero_api/__init__.py +0 -0
  222. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/simple_hero_api/tutorial001.py +0 -0
  223. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/simple_hero_api/tutorial001_py310.py +0 -0
  224. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/teams/__init__.py +0 -0
  225. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/teams/tutorial001.py +0 -0
  226. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/teams/tutorial001_py310.py +0 -0
  227. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/teams/tutorial001_py39.py +0 -0
  228. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/update/__init__.py +0 -0
  229. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/update/tutorial001.py +0 -0
  230. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/update/tutorial001_py310.py +0 -0
  231. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/update/tutorial001_py39.py +0 -0
  232. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/update/tutorial002.py +0 -0
  233. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/update/tutorial002_py310.py +0 -0
  234. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/fastapi/update/tutorial002_py39.py +0 -0
  235. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/indexes/__init__.py +0 -0
  236. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/indexes/tutorial001.py +0 -0
  237. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/indexes/tutorial001_py310.py +0 -0
  238. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/indexes/tutorial002.py +0 -0
  239. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/indexes/tutorial002_py310.py +0 -0
  240. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/insert/__init__.py +0 -0
  241. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/insert/annotations/en/tutorial003.md +0 -0
  242. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/insert/tutorial001.py +0 -0
  243. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/insert/tutorial001_py310.py +0 -0
  244. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/insert/tutorial002.py +0 -0
  245. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/insert/tutorial002_py310.py +0 -0
  246. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/insert/tutorial003.py +0 -0
  247. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/insert/tutorial003_py310.py +0 -0
  248. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/many_to_many/__init__.py +0 -0
  249. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/many_to_many/tutorial001.py +0 -0
  250. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/many_to_many/tutorial001_py310.py +0 -0
  251. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/many_to_many/tutorial001_py39.py +0 -0
  252. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/many_to_many/tutorial002.py +0 -0
  253. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/many_to_many/tutorial002_py310.py +0 -0
  254. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/many_to_many/tutorial002_py39.py +0 -0
  255. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/many_to_many/tutorial003.py +0 -0
  256. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/many_to_many/tutorial003_py310.py +0 -0
  257. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/many_to_many/tutorial003_py39.py +0 -0
  258. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/offset_and_limit/__init__.py +0 -0
  259. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/offset_and_limit/tutorial001.py +0 -0
  260. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/offset_and_limit/tutorial001_py310.py +0 -0
  261. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/offset_and_limit/tutorial002.py +0 -0
  262. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/offset_and_limit/tutorial002_py310.py +0 -0
  263. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/offset_and_limit/tutorial003.py +0 -0
  264. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/offset_and_limit/tutorial003_py310.py +0 -0
  265. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/offset_and_limit/tutorial004.py +0 -0
  266. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/offset_and_limit/tutorial004_py310.py +0 -0
  267. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/__init__.py +0 -0
  268. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial001.py +0 -0
  269. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial001_py310.py +0 -0
  270. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial002.py +0 -0
  271. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial002_py310.py +0 -0
  272. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial003.py +0 -0
  273. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial003_py310.py +0 -0
  274. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial004.py +0 -0
  275. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial004_py310.py +0 -0
  276. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial005.py +0 -0
  277. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial005_py310.py +0 -0
  278. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial006.py +0 -0
  279. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial006_py310.py +0 -0
  280. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial007.py +0 -0
  281. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial007_py310.py +0 -0
  282. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial008.py +0 -0
  283. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial008_py310.py +0 -0
  284. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial009.py +0 -0
  285. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/one/tutorial009_py310.py +0 -0
  286. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/__init__.py +0 -0
  287. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/back_populates/__init__.py +0 -0
  288. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/back_populates/tutorial001.py +0 -0
  289. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/back_populates/tutorial001_py310.py +0 -0
  290. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/back_populates/tutorial001_py39.py +0 -0
  291. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/back_populates/tutorial002.py +0 -0
  292. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/back_populates/tutorial002_py310.py +0 -0
  293. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/back_populates/tutorial002_py39.py +0 -0
  294. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/back_populates/tutorial003.py +0 -0
  295. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/back_populates/tutorial003_py310.py +0 -0
  296. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/back_populates/tutorial003_py39.py +0 -0
  297. {sqlmodel-0.0.20/docs_src/tutorial/relationship_attributes/create_and_update_relationships → sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/cascade_delete_relationships}/__init__.py +0 -0
  298. {sqlmodel-0.0.20/docs_src/tutorial/relationship_attributes/define_relationship_attributes → sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/create_and_update_relationships}/__init__.py +0 -0
  299. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/create_and_update_relationships/tutorial001.py +0 -0
  300. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/create_and_update_relationships/tutorial001_py310.py +0 -0
  301. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/create_and_update_relationships/tutorial001_py39.py +0 -0
  302. {sqlmodel-0.0.20/docs_src/tutorial/relationship_attributes/read_relationships → sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/define_relationship_attributes}/__init__.py +0 -0
  303. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/define_relationship_attributes/tutorial001.py +0 -0
  304. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/define_relationship_attributes/tutorial001_py310.py +0 -0
  305. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/define_relationship_attributes/tutorial001_py39.py +0 -0
  306. {sqlmodel-0.0.20/docs_src/tutorial/select → sqlmodel-0.0.22/docs_src/tutorial/relationship_attributes/read_relationships}/__init__.py +0 -0
  307. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/read_relationships/tutorial001.py +0 -0
  308. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/read_relationships/tutorial001_py310.py +0 -0
  309. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/read_relationships/tutorial001_py39.py +0 -0
  310. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/read_relationships/tutorial002.py +0 -0
  311. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/read_relationships/tutorial002_py310.py +0 -0
  312. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/relationship_attributes/read_relationships/tutorial002_py39.py +0 -0
  313. {sqlmodel-0.0.20/docs_src/tutorial/update → sqlmodel-0.0.22/docs_src/tutorial/select}/__init__.py +0 -0
  314. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/select/tutorial001.py +0 -0
  315. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/select/tutorial001_py310.py +0 -0
  316. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/select/tutorial002.py +0 -0
  317. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/select/tutorial002_py310.py +0 -0
  318. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/select/tutorial003.py +0 -0
  319. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/select/tutorial003_py310.py +0 -0
  320. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/select/tutorial004.py +0 -0
  321. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/select/tutorial004_py310.py +0 -0
  322. {sqlmodel-0.0.20/docs_src/tutorial/where → sqlmodel-0.0.22/docs_src/tutorial/update}/__init__.py +0 -0
  323. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/update/tutorial001.py +0 -0
  324. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/update/tutorial001_py310.py +0 -0
  325. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/update/tutorial002.py +0 -0
  326. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/update/tutorial002_py310.py +0 -0
  327. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/update/tutorial003.py +0 -0
  328. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/update/tutorial003_py310.py +0 -0
  329. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/update/tutorial004.py +0 -0
  330. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/update/tutorial004_py310.py +0 -0
  331. {sqlmodel-0.0.20/sqlmodel/ext → sqlmodel-0.0.22/docs_src/tutorial/where}/__init__.py +0 -0
  332. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial001.py +0 -0
  333. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial001_py310.py +0 -0
  334. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial002.py +0 -0
  335. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial002_py310.py +0 -0
  336. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial003.py +0 -0
  337. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial003_py310.py +0 -0
  338. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial004.py +0 -0
  339. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial004_py310.py +0 -0
  340. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial005.py +0 -0
  341. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial005_py310.py +0 -0
  342. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial006.py +0 -0
  343. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial006_py310.py +0 -0
  344. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial007.py +0 -0
  345. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial007_py310.py +0 -0
  346. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial008.py +0 -0
  347. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial008_py310.py +0 -0
  348. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial009.py +0 -0
  349. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial009_py310.py +0 -0
  350. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial010.py +0 -0
  351. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial010_py310.py +0 -0
  352. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial011.py +0 -0
  353. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/docs_src/tutorial/where/tutorial011_py310.py +0 -0
  354. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/pdm_build.py +0 -0
  355. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/requirements-docs-tests.txt +0 -0
  356. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/requirements.txt +0 -0
  357. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/scripts/format.sh +0 -0
  358. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/scripts/generate_select.py +0 -0
  359. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/sqlmodel/default.py +0 -0
  360. {sqlmodel-0.0.20/sqlmodel/ext/asyncio → sqlmodel-0.0.22/sqlmodel/ext}/__init__.py +0 -0
  361. {sqlmodel-0.0.20/sqlmodel/orm → sqlmodel-0.0.22/sqlmodel/ext/asyncio}/__init__.py +0 -0
  362. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/sqlmodel/ext/asyncio/session.py +0 -0
  363. {sqlmodel-0.0.20/sqlmodel/sql → sqlmodel-0.0.22/sqlmodel/orm}/__init__.py +0 -0
  364. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/sqlmodel/orm/session.py +0 -0
  365. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/sqlmodel/pool/__init__.py +0 -0
  366. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/sqlmodel/py.typed +0 -0
  367. {sqlmodel-0.0.20/tests → sqlmodel-0.0.22/sqlmodel/sql}/__init__.py +0 -0
  368. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/sqlmodel/sql/_expression_select_cls.py +0 -0
  369. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/sqlmodel/sql/_expression_select_gen.py +0 -0
  370. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/sqlmodel/sql/_expression_select_gen.py.jinja2 +0 -0
  371. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/sqlmodel/sql/base.py +0 -0
  372. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/sqlmodel/sql/expression.py +0 -0
  373. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/sqlmodel/sql/sqltypes.py +0 -0
  374. {sqlmodel-0.0.20/tests/test_advanced → sqlmodel-0.0.22/tests}/__init__.py +0 -0
  375. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/conftest.py +0 -0
  376. {sqlmodel-0.0.20/tests/test_advanced/test_decimal → sqlmodel-0.0.22/tests/test_advanced}/__init__.py +0 -0
  377. {sqlmodel-0.0.20/tests/test_advanced/test_uuid → sqlmodel-0.0.22/tests/test_advanced/test_decimal}/__init__.py +0 -0
  378. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_advanced/test_decimal/test_tutorial001.py +0 -0
  379. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_advanced/test_decimal/test_tutorial001_py310.py +0 -0
  380. {sqlmodel-0.0.20/tests/test_pydantic → sqlmodel-0.0.22/tests/test_advanced/test_uuid}/__init__.py +0 -0
  381. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_advanced/test_uuid/test_tutorial001.py +0 -0
  382. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_advanced/test_uuid/test_tutorial001_py310.py +0 -0
  383. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_advanced/test_uuid/test_tutorial002.py +0 -0
  384. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_advanced/test_uuid/test_tutorial002_py310.py +0 -0
  385. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_default.py +0 -0
  386. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_deprecations.py +0 -0
  387. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_field_sa_args_kwargs.py +0 -0
  388. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_field_sa_relationship.py +0 -0
  389. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_fields_set.py +0 -0
  390. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_instance_no_args.py +0 -0
  391. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_main.py +0 -0
  392. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_missing_type.py +0 -0
  393. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_nullable.py +0 -0
  394. {sqlmodel-0.0.20/tests/test_tutorial → sqlmodel-0.0.22/tests/test_pydantic}/__init__.py +0 -0
  395. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_pydantic/test_field.py +0 -0
  396. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_query.py +0 -0
  397. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_select_gen.py +0 -0
  398. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_sqlalchemy_type_errors.py +0 -0
  399. {sqlmodel-0.0.20/tests/test_tutorial/test_automatic_id_none_refresh → sqlmodel-0.0.22/tests/test_tutorial}/__init__.py +0 -0
  400. {sqlmodel-0.0.20/tests/test_tutorial/test_code_structure → sqlmodel-0.0.22/tests/test_tutorial/test_automatic_id_none_refresh}/__init__.py +0 -0
  401. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_automatic_id_none_refresh/test_tutorial001_py310_tutorial002_py310.py +0 -0
  402. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_automatic_id_none_refresh/test_tutorial001_tutorial002.py +0 -0
  403. {sqlmodel-0.0.20/tests/test_tutorial/test_connect → sqlmodel-0.0.22/tests/test_tutorial/test_code_structure}/__init__.py +0 -0
  404. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_code_structure/test_tutorial001.py +0 -0
  405. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_code_structure/test_tutorial001_py310.py +0 -0
  406. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_code_structure/test_tutorial001_py39.py +0 -0
  407. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_code_structure/test_tutorial002.py +0 -0
  408. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_code_structure/test_tutorial002_py310.py +0 -0
  409. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_code_structure/test_tutorial002_py39.py +0 -0
  410. {sqlmodel-0.0.20/tests/test_tutorial/test_connect/test_create_connected_tables → sqlmodel-0.0.22/tests/test_tutorial/test_connect}/__init__.py +0 -0
  411. {sqlmodel-0.0.20/tests/test_tutorial/test_connect/test_delete → sqlmodel-0.0.22/tests/test_tutorial/test_connect/test_create_connected_tables}/__init__.py +0 -0
  412. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_create_connected_tables/test_tutorial001.py +0 -0
  413. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_create_connected_tables/test_tutorial001_py310.py +0 -0
  414. {sqlmodel-0.0.20/tests/test_tutorial/test_connect/test_insert → sqlmodel-0.0.22/tests/test_tutorial/test_connect/test_delete}/__init__.py +0 -0
  415. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_delete/test_tutorial001.py +0 -0
  416. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_delete/test_tutorial001_py310.py +0 -0
  417. {sqlmodel-0.0.20/tests/test_tutorial/test_connect/test_select → sqlmodel-0.0.22/tests/test_tutorial/test_connect/test_insert}/__init__.py +0 -0
  418. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_insert/test_tutorial001.py +0 -0
  419. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_insert/test_tutorial001_py310.py +0 -0
  420. {sqlmodel-0.0.20/tests/test_tutorial/test_connect/test_update → sqlmodel-0.0.22/tests/test_tutorial/test_connect/test_select}/__init__.py +0 -0
  421. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_select/test_tutorial001_py310_tutorial002_py310.py +0 -0
  422. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_select/test_tutorial001_tutorial002.py +0 -0
  423. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_select/test_tutorial003.py +0 -0
  424. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_select/test_tutorial003_py310.py +0 -0
  425. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_select/test_tutorial004.py +0 -0
  426. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_select/test_tutorial004_py310.py +0 -0
  427. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_select/test_tutorial005.py +0 -0
  428. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_select/test_tutorial005_py310.py +0 -0
  429. {sqlmodel-0.0.20/tests/test_tutorial/test_create_db_and_table → sqlmodel-0.0.22/tests/test_tutorial/test_connect/test_update}/__init__.py +0 -0
  430. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_update/test_tutorial001.py +0 -0
  431. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_connect/test_update/test_tutorial001_py310.py +0 -0
  432. {sqlmodel-0.0.20/tests/test_tutorial/test_delete → sqlmodel-0.0.22/tests/test_tutorial/test_create_db_and_table}/__init__.py +0 -0
  433. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_create_db_and_table/test_tutorial001.py +0 -0
  434. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_create_db_and_table/test_tutorial001_py310.py +0 -0
  435. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_create_db_and_table/test_tutorial002.py +0 -0
  436. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_create_db_and_table/test_tutorial002_py310.py +0 -0
  437. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_create_db_and_table/test_tutorial003.py +0 -0
  438. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_create_db_and_table/test_tutorial003_py310.py +0 -0
  439. {sqlmodel-0.0.20/tests/test_tutorial/test_fastapi → sqlmodel-0.0.22/tests/test_tutorial/test_delete}/__init__.py +0 -0
  440. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_delete/test_tutorial001_py310_tutorial002_py310.py +0 -0
  441. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_delete/test_tutorial001_tutorial002.py +0 -0
  442. {sqlmodel-0.0.20/tests/test_tutorial/test_fastapi/test_app_testing → sqlmodel-0.0.22/tests/test_tutorial/test_fastapi}/__init__.py +0 -0
  443. {sqlmodel-0.0.20/tests/test_tutorial/test_fastapi/test_delete → sqlmodel-0.0.22/tests/test_tutorial/test_fastapi/test_app_testing}/__init__.py +0 -0
  444. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_py310_tests_main.py +0 -0
  445. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_py39_tests_main.py +0 -0
  446. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests001.py +0 -0
  447. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests002.py +0 -0
  448. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests003.py +0 -0
  449. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests004.py +0 -0
  450. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests005.py +0 -0
  451. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests006.py +0 -0
  452. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_app_testing/test_tutorial001_tests_main.py +0 -0
  453. {sqlmodel-0.0.20/tests/test_tutorial/test_fastapi/test_limit_and_offset → sqlmodel-0.0.22/tests/test_tutorial/test_fastapi/test_delete}/__init__.py +0 -0
  454. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_delete/test_tutorial001.py +0 -0
  455. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_delete/test_tutorial001_py310.py +0 -0
  456. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_delete/test_tutorial001_py39.py +0 -0
  457. {sqlmodel-0.0.20/tests/test_tutorial/test_fastapi/test_multiple_models → sqlmodel-0.0.22/tests/test_tutorial/test_fastapi/test_limit_and_offset}/__init__.py +0 -0
  458. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_limit_and_offset/test_tutorial001.py +0 -0
  459. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_limit_and_offset/test_tutorial001_py310.py +0 -0
  460. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_limit_and_offset/test_tutorial001_py39.py +0 -0
  461. {sqlmodel-0.0.20/tests/test_tutorial/test_fastapi/test_read_one → sqlmodel-0.0.22/tests/test_tutorial/test_fastapi/test_multiple_models}/__init__.py +0 -0
  462. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial001.py +0 -0
  463. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial001_py310.py +0 -0
  464. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial001_py39.py +0 -0
  465. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial002.py +0 -0
  466. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial002_py310.py +0 -0
  467. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_multiple_models/test_tutorial002_py39.py +0 -0
  468. {sqlmodel-0.0.20/tests/test_tutorial/test_fastapi/test_relationships → sqlmodel-0.0.22/tests/test_tutorial/test_fastapi/test_read_one}/__init__.py +0 -0
  469. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_read_one/test_tutorial001.py +0 -0
  470. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_read_one/test_tutorial001_py310.py +0 -0
  471. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_read_one/test_tutorial001_py39.py +0 -0
  472. {sqlmodel-0.0.20/tests/test_tutorial/test_fastapi/test_response_model → sqlmodel-0.0.22/tests/test_tutorial/test_fastapi/test_relationships}/__init__.py +0 -0
  473. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_relationships/test_tutorial001.py +0 -0
  474. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_relationships/test_tutorial001_py310.py +0 -0
  475. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_relationships/test_tutorial001_py39.py +0 -0
  476. {sqlmodel-0.0.20/tests/test_tutorial/test_fastapi/test_session_with_dependency → sqlmodel-0.0.22/tests/test_tutorial/test_fastapi/test_response_model}/__init__.py +0 -0
  477. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_response_model/test_tutorial001.py +0 -0
  478. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_response_model/test_tutorial001_py310.py +0 -0
  479. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_response_model/test_tutorial001_py39.py +0 -0
  480. {sqlmodel-0.0.20/tests/test_tutorial/test_fastapi/test_simple_hero_api → sqlmodel-0.0.22/tests/test_tutorial/test_fastapi/test_session_with_dependency}/__init__.py +0 -0
  481. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_session_with_dependency/test_tutorial001.py +0 -0
  482. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_session_with_dependency/test_tutorial001_py310.py +0 -0
  483. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_session_with_dependency/test_tutorial001_py39.py +0 -0
  484. {sqlmodel-0.0.20/tests/test_tutorial/test_fastapi/test_teams → sqlmodel-0.0.22/tests/test_tutorial/test_fastapi/test_simple_hero_api}/__init__.py +0 -0
  485. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_simple_hero_api/test_tutorial001.py +0 -0
  486. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_simple_hero_api/test_tutorial001_py310.py +0 -0
  487. {sqlmodel-0.0.20/tests/test_tutorial/test_fastapi/test_update → sqlmodel-0.0.22/tests/test_tutorial/test_fastapi/test_teams}/__init__.py +0 -0
  488. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_teams/test_tutorial001.py +0 -0
  489. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_teams/test_tutorial001_py310.py +0 -0
  490. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_teams/test_tutorial001_py39.py +0 -0
  491. {sqlmodel-0.0.20/tests/test_tutorial/test_indexes → sqlmodel-0.0.22/tests/test_tutorial/test_fastapi/test_update}/__init__.py +0 -0
  492. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_update/test_tutorial001.py +0 -0
  493. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_update/test_tutorial001_py310.py +0 -0
  494. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_update/test_tutorial001_py39.py +0 -0
  495. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_update/test_tutorial002.py +0 -0
  496. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_update/test_tutorial002_py310.py +0 -0
  497. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_fastapi/test_update/test_tutorial002_py39.py +0 -0
  498. {sqlmodel-0.0.20/tests/test_tutorial/test_insert → sqlmodel-0.0.22/tests/test_tutorial/test_indexes}/__init__.py +0 -0
  499. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_indexes/test_tutorial001.py +0 -0
  500. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_indexes/test_tutorial001_py310.py +0 -0
  501. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_indexes/test_tutorial002.py +0 -0
  502. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_indexes/test_tutorial002_py310.py +0 -0
  503. {sqlmodel-0.0.20/tests/test_tutorial/test_limit_and_offset → sqlmodel-0.0.22/tests/test_tutorial/test_insert}/__init__.py +0 -0
  504. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_insert/test_tutorial001.py +0 -0
  505. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_insert/test_tutorial001_py310.py +0 -0
  506. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_insert/test_tutorial002.py +0 -0
  507. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_insert/test_tutorial002_py310.py +0 -0
  508. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_insert/test_tutorial003.py +0 -0
  509. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_insert/test_tutorial003_py310.py +0 -0
  510. {sqlmodel-0.0.20/tests/test_tutorial/test_many_to_many → sqlmodel-0.0.22/tests/test_tutorial/test_limit_and_offset}/__init__.py +0 -0
  511. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_limit_and_offset/test_tutorial001.py +0 -0
  512. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_limit_and_offset/test_tutorial001_py310.py +0 -0
  513. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_limit_and_offset/test_tutorial002.py +0 -0
  514. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_limit_and_offset/test_tutorial002_py310.py +0 -0
  515. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_limit_and_offset/test_tutorial003.py +0 -0
  516. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_limit_and_offset/test_tutorial003_py310.py +0 -0
  517. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_limit_and_offset/test_tutorial004.py +0 -0
  518. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_limit_and_offset/test_tutorial004_py310.py +0 -0
  519. {sqlmodel-0.0.20/tests/test_tutorial/test_one → sqlmodel-0.0.22/tests/test_tutorial/test_many_to_many}/__init__.py +0 -0
  520. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_many_to_many/test_tutorial001.py +0 -0
  521. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_many_to_many/test_tutorial001_py310.py +0 -0
  522. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_many_to_many/test_tutorial001_py39.py +0 -0
  523. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_many_to_many/test_tutorial002.py +0 -0
  524. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_many_to_many/test_tutorial002_py310.py +0 -0
  525. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_many_to_many/test_tutorial002_py39.py +0 -0
  526. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_many_to_many/test_tutorial003.py +0 -0
  527. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_many_to_many/test_tutorial003_py310.py +0 -0
  528. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_many_to_many/test_tutorial003_py39.py +0 -0
  529. {sqlmodel-0.0.20/tests/test_tutorial/test_relationship_attributes → sqlmodel-0.0.22/tests/test_tutorial/test_one}/__init__.py +0 -0
  530. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial001.py +0 -0
  531. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial001_py310.py +0 -0
  532. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial002.py +0 -0
  533. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial002_py310.py +0 -0
  534. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial003.py +0 -0
  535. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial003_py310.py +0 -0
  536. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial004.py +0 -0
  537. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial004_py310.py +0 -0
  538. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial005.py +0 -0
  539. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial005_py310.py +0 -0
  540. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial006.py +0 -0
  541. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial006_py310.py +0 -0
  542. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial007.py +0 -0
  543. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial007_py310.py +0 -0
  544. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial008.py +0 -0
  545. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial008_py310.py +0 -0
  546. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial009.py +0 -0
  547. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_one/test_tutorial009_py310.py +0 -0
  548. {sqlmodel-0.0.20/tests/test_tutorial/test_relationship_attributes/test_back_populates → sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes}/__init__.py +0 -0
  549. {sqlmodel-0.0.20/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships → sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_back_populates}/__init__.py +0 -0
  550. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial001.py +0 -0
  551. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial001_py310.py +0 -0
  552. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial001_py39.py +0 -0
  553. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial002.py +0 -0
  554. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial002_py310.py +0 -0
  555. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial002_py39.py +0 -0
  556. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial003.py +0 -0
  557. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial003_py310.py +0 -0
  558. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_back_populates/test_tutorial003_py39.py +0 -0
  559. {sqlmodel-0.0.20/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes → sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships}/__init__.py +0 -0
  560. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships/test_tutorial001.py +0 -0
  561. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships/test_tutorial001_py310.py +0 -0
  562. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_create_and_update_relationships/test_tutorial001_py39.py +0 -0
  563. {sqlmodel-0.0.20/tests/test_tutorial/test_relationship_attributes/test_read_relationships → sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes}/__init__.py +0 -0
  564. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes/test_tutorial001.py +0 -0
  565. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes/test_tutorial001_py310.py +0 -0
  566. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_define_relationship_attributes/test_tutorial001_py39.py +0 -0
  567. {sqlmodel-0.0.20/tests/test_tutorial/test_select → sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_delete_records_relationship}/__init__.py +0 -0
  568. {sqlmodel-0.0.20/tests/test_tutorial/test_update → sqlmodel-0.0.22/tests/test_tutorial/test_relationship_attributes/test_read_relationships}/__init__.py +0 -0
  569. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial001.py +0 -0
  570. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial001_py310.py +0 -0
  571. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial001_py39.py +0 -0
  572. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial002.py +0 -0
  573. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial002_py310.py +0 -0
  574. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_relationship_attributes/test_read_relationships/test_tutorial002_py39.py +0 -0
  575. {sqlmodel-0.0.20/tests/test_tutorial/test_where → sqlmodel-0.0.22/tests/test_tutorial/test_select}/__init__.py +0 -0
  576. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_select/test_tutorial001_py310_tutorial002_py310.py +0 -0
  577. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_select/test_tutorial001_tutorial002.py +0 -0
  578. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_select/test_tutorial003_py310_tutorial004_py310.py +0 -0
  579. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_select/test_tutorial003_tutorial004.py +0 -0
  580. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_update/test_tutorial001_py310_tutorial002_py310.py +0 -0
  581. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_update/test_tutorial001_tutorial002.py +0 -0
  582. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_update/test_tutorial003_py310_tutorial004_py310.py +0 -0
  583. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_update/test_tutorial003_tutorial004.py +0 -0
  584. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial001.py +0 -0
  585. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial001_py310.py +0 -0
  586. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial002.py +0 -0
  587. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial002_py310.py +0 -0
  588. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial003.py +0 -0
  589. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial003_py310.py +0 -0
  590. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial004.py +0 -0
  591. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial004_py310.py +0 -0
  592. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial005.py +0 -0
  593. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial005_py310.py +0 -0
  594. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial006.py +0 -0
  595. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial006_py310.py +0 -0
  596. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial007.py +0 -0
  597. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial007_py310.py +0 -0
  598. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial008.py +0 -0
  599. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial008_py310.py +0 -0
  600. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial009.py +0 -0
  601. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial009_py310.py +0 -0
  602. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial010.py +0 -0
  603. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial010_py310.py +0 -0
  604. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial011.py +0 -0
  605. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_tutorial/test_where/test_tutorial011_py310.py +0 -0
  606. {sqlmodel-0.0.20 → sqlmodel-0.0.22}/tests/test_validation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: sqlmodel
3
- Version: 0.0.20
3
+ Version: 0.0.22
4
4
  Summary: SQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness.
5
5
  Author-Email: =?utf-8?q?Sebasti=C3=A1n_Ram=C3=ADrez?= <tiangolo@gmail.com>
6
6
  Classifier: Development Status :: 4 - Beta
@@ -22,29 +22,32 @@ Classifier: Topic :: Internet
22
22
  Classifier: Topic :: Internet :: WWW/HTTP :: HTTP Servers
23
23
  Classifier: Topic :: Internet :: WWW/HTTP
24
24
  Classifier: Typing :: Typed
25
- Project-URL: Homepage, https://github.com/tiangolo/sqlmodel
25
+ Project-URL: Homepage, https://github.com/fastapi/sqlmodel
26
26
  Project-URL: Documentation, https://sqlmodel.tiangolo.com
27
- Project-URL: Repository, https://github.com/tiangolo/sqlmodel
27
+ Project-URL: Repository, https://github.com/fastapi/sqlmodel
28
+ Project-URL: Issues, https://github.com/fastapi/sqlmodel/issues
29
+ Project-URL: Changelog, https://sqlmodel.tiangolo.com/release-notes/
28
30
  Requires-Python: >=3.7
29
31
  Requires-Dist: SQLAlchemy<2.1.0,>=2.0.14
30
32
  Requires-Dist: pydantic<3.0.0,>=1.10.13
31
33
  Description-Content-Type: text/markdown
32
34
 
33
35
  <p align="center">
34
- <a href="https://sqlmodel.tiangolo.com"><img src="https://sqlmodel.tiangolo.com/img/logo-margin/logo-margin-vector.svg" alt="SQLModel"></a>
36
+ <a href="https://sqlmodel.tiangolo.com"><img src="https://sqlmodel.tiangolo.com/img/logo-margin/logo-margin-vector.svg#only-light" alt="SQLModel"></a>
37
+
35
38
  </p>
36
39
  <p align="center">
37
40
  <em>SQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness.</em>
38
41
  </p>
39
42
  <p align="center">
40
- <a href="https://github.com/tiangolo/sqlmodel/actions?query=workflow%3ATest" target="_blank">
41
- <img src="https://github.com/tiangolo/sqlmodel/workflows/Test/badge.svg" alt="Test">
43
+ <a href="https://github.com/fastapi/sqlmodel/actions?query=workflow%3ATest" target="_blank">
44
+ <img src="https://github.com/fastapi/sqlmodel/workflows/Test/badge.svg" alt="Test">
42
45
  </a>
43
- <a href="https://github.com/tiangolo/sqlmodel/actions?query=workflow%3APublish" target="_blank">
44
- <img src="https://github.com/tiangolo/sqlmodel/workflows/Publish/badge.svg" alt="Publish">
46
+ <a href="https://github.com/fastapi/sqlmodel/actions?query=workflow%3APublish" target="_blank">
47
+ <img src="https://github.com/fastapi/sqlmodel/workflows/Publish/badge.svg" alt="Publish">
45
48
  </a>
46
- <a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/tiangolo/sqlmodel" target="_blank">
47
- <img src="https://coverage-badge.samuelcolvin.workers.dev/tiangolo/sqlmodel.svg" alt="Coverage">
49
+ <a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/sqlmodel" target="_blank">
50
+ <img src="https://coverage-badge.samuelcolvin.workers.dev/fastapi/sqlmodel.svg" alt="Coverage">
48
51
  <a href="https://pypi.org/project/sqlmodel" target="_blank">
49
52
  <img src="https://img.shields.io/pypi/v/sqlmodel?color=%2334D058&label=pypi%20package" alt="Package version">
50
53
  </a>
@@ -54,7 +57,7 @@ Description-Content-Type: text/markdown
54
57
 
55
58
  **Documentation**: <a href="https://sqlmodel.tiangolo.com" target="_blank">https://sqlmodel.tiangolo.com</a>
56
59
 
57
- **Source Code**: <a href="https://github.com/tiangolo/sqlmodel" target="_blank">https://github.com/tiangolo/sqlmodel</a>
60
+ **Source Code**: <a href="https://github.com/fastapi/sqlmodel" target="_blank">https://github.com/fastapi/sqlmodel</a>
58
61
 
59
62
  ---
60
63
 
@@ -96,6 +99,8 @@ As **SQLModel** is based on **Pydantic** and **SQLAlchemy**, it requires them. T
96
99
 
97
100
  ## Installation
98
101
 
102
+ Make sure you create a <a href="https://sqlmodel.tiangolo.com/virtual-environments/" class="external-link" target="_blank">virtual environment</a>, activate it, and then install SQLModel, for example with:
103
+
99
104
  <div class="termy">
100
105
 
101
106
  ```console
@@ -251,4 +256,4 @@ And at the same time, ✨ it is also a **Pydantic** model ✨. You can use inher
251
256
 
252
257
  ## License
253
258
 
254
- This project is licensed under the terms of the [MIT license](https://github.com/tiangolo/sqlmodel/blob/main/LICENSE).
259
+ This project is licensed under the terms of the [MIT license](https://github.com/fastapi/sqlmodel/blob/main/LICENSE).
@@ -1,18 +1,19 @@
1
1
  <p align="center">
2
- <a href="https://sqlmodel.tiangolo.com"><img src="https://sqlmodel.tiangolo.com/img/logo-margin/logo-margin-vector.svg" alt="SQLModel"></a>
2
+ <a href="https://sqlmodel.tiangolo.com"><img src="https://sqlmodel.tiangolo.com/img/logo-margin/logo-margin-vector.svg#only-light" alt="SQLModel"></a>
3
+
3
4
  </p>
4
5
  <p align="center">
5
6
  <em>SQLModel, SQL databases in Python, designed for simplicity, compatibility, and robustness.</em>
6
7
  </p>
7
8
  <p align="center">
8
- <a href="https://github.com/tiangolo/sqlmodel/actions?query=workflow%3ATest" target="_blank">
9
- <img src="https://github.com/tiangolo/sqlmodel/workflows/Test/badge.svg" alt="Test">
9
+ <a href="https://github.com/fastapi/sqlmodel/actions?query=workflow%3ATest" target="_blank">
10
+ <img src="https://github.com/fastapi/sqlmodel/workflows/Test/badge.svg" alt="Test">
10
11
  </a>
11
- <a href="https://github.com/tiangolo/sqlmodel/actions?query=workflow%3APublish" target="_blank">
12
- <img src="https://github.com/tiangolo/sqlmodel/workflows/Publish/badge.svg" alt="Publish">
12
+ <a href="https://github.com/fastapi/sqlmodel/actions?query=workflow%3APublish" target="_blank">
13
+ <img src="https://github.com/fastapi/sqlmodel/workflows/Publish/badge.svg" alt="Publish">
13
14
  </a>
14
- <a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/tiangolo/sqlmodel" target="_blank">
15
- <img src="https://coverage-badge.samuelcolvin.workers.dev/tiangolo/sqlmodel.svg" alt="Coverage">
15
+ <a href="https://coverage-badge.samuelcolvin.workers.dev/redirect/fastapi/sqlmodel" target="_blank">
16
+ <img src="https://coverage-badge.samuelcolvin.workers.dev/fastapi/sqlmodel.svg" alt="Coverage">
16
17
  <a href="https://pypi.org/project/sqlmodel" target="_blank">
17
18
  <img src="https://img.shields.io/pypi/v/sqlmodel?color=%2334D058&label=pypi%20package" alt="Package version">
18
19
  </a>
@@ -22,7 +23,7 @@
22
23
 
23
24
  **Documentation**: <a href="https://sqlmodel.tiangolo.com" target="_blank">https://sqlmodel.tiangolo.com</a>
24
25
 
25
- **Source Code**: <a href="https://github.com/tiangolo/sqlmodel" target="_blank">https://github.com/tiangolo/sqlmodel</a>
26
+ **Source Code**: <a href="https://github.com/fastapi/sqlmodel" target="_blank">https://github.com/fastapi/sqlmodel</a>
26
27
 
27
28
  ---
28
29
 
@@ -64,6 +65,8 @@ As **SQLModel** is based on **Pydantic** and **SQLAlchemy**, it requires them. T
64
65
 
65
66
  ## Installation
66
67
 
68
+ Make sure you create a <a href="https://sqlmodel.tiangolo.com/virtual-environments/" class="external-link" target="_blank">virtual environment</a>, activate it, and then install SQLModel, for example with:
69
+
67
70
  <div class="termy">
68
71
 
69
72
  ```console
@@ -219,4 +222,4 @@ And at the same time, ✨ it is also a **Pydantic** model ✨. You can use inher
219
222
 
220
223
  ## License
221
224
 
222
- This project is licensed under the terms of the [MIT license](https://github.com/tiangolo/sqlmodel/blob/main/LICENSE).
225
+ This project is licensed under the terms of the [MIT license](https://github.com/fastapi/sqlmodel/blob/main/LICENSE).
@@ -307,8 +307,11 @@
307
307
 
308
308
  33. Print the `hero_1`.
309
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.
310
+ /// info
311
+
312
+ 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.
313
+
314
+ ///
312
315
 
313
316
  Because the `hero_1` is fresh it has all it's data available.
314
317
 
@@ -320,8 +323,11 @@
320
323
 
321
324
  34. Print the `hero_2`.
322
325
 
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.
326
+ /// info
327
+
328
+ 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.
329
+
330
+ ///
325
331
 
326
332
  Because the `hero_2` is fresh it has all it's data available.
327
333
 
@@ -333,8 +339,11 @@
333
339
 
334
340
  35. Print the `hero_3`.
335
341
 
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.
342
+ /// info
343
+
344
+ 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.
345
+
346
+ ///
338
347
 
339
348
  Because the `hero_3` is fresh it has all it's data available.
340
349
 
@@ -14,10 +14,13 @@
14
14
 
15
15
  3. Get one hero object, expecting exactly one.
16
16
 
17
- !!! tip
18
- This ensures there's no more than one, and that there's exactly one, not `None`.
17
+ /// tip
19
18
 
20
- This would never return `None`, instead it would raise an exception.
19
+ This ensures there's no more than one, and that there's exactly one, not `None`.
20
+
21
+ This would never return `None`, instead it would raise an exception.
22
+
23
+ ///
21
24
 
22
25
  4. Print the hero object.
23
26
 
@@ -22,5 +22,8 @@
22
22
 
23
23
  We tell it that with the `poolclass=StaticPool` parameter.
24
24
 
25
- !!! info
26
- You can read more details in the <a href="https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#using-a-memory-database-in-multiple-threads" class="external-link" target="_blank">SQLAlchemy documentation about Using a Memory Database in Multiple Threads</a>
25
+ /// info
26
+
27
+ You can read more details in the <a href="https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#using-a-memory-database-in-multiple-threads" class="external-link" target="_blank">SQLAlchemy documentation about Using a Memory Database in Multiple Threads</a>
28
+
29
+ ///
@@ -22,5 +22,8 @@
22
22
 
23
23
  We tell it that with the `poolclass=StaticPool` parameter.
24
24
 
25
- !!! info
26
- You can read more details in the <a href="https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#using-a-memory-database-in-multiple-threads" class="external-link" target="_blank">SQLAlchemy documentation about Using a Memory Database in Multiple Threads</a>
25
+ /// info
26
+
27
+ You can read more details in the <a href="https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#using-a-memory-database-in-multiple-threads" class="external-link" target="_blank">SQLAlchemy documentation about Using a Memory Database in Multiple Threads</a>
28
+
29
+ ///
@@ -22,5 +22,8 @@
22
22
 
23
23
  We tell it that with the `poolclass=StaticPool` parameter.
24
24
 
25
- !!! info
26
- You can read more details in the <a href="https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#using-a-memory-database-in-multiple-threads" class="external-link" target="_blank">SQLAlchemy documentation about Using a Memory Database in Multiple Threads</a>
25
+ /// info
26
+
27
+ You can read more details in the <a href="https://docs.sqlalchemy.org/en/14/dialects/sqlite.html#using-a-memory-database-in-multiple-threads" class="external-link" target="_blank">SQLAlchemy documentation about Using a Memory Database in Multiple Threads</a>
28
+
29
+ ///
@@ -0,0 +1,110 @@
1
+ from typing import List, Optional
2
+
3
+ from sqlmodel import Field, Relationship, Session, SQLModel, create_engine, select
4
+
5
+
6
+ class Team(SQLModel, table=True):
7
+ id: Optional[int] = Field(default=None, primary_key=True)
8
+ name: str = Field(index=True)
9
+ headquarters: str
10
+
11
+ heroes: List["Hero"] = Relationship(back_populates="team", cascade_delete=True)
12
+
13
+
14
+ class Hero(SQLModel, table=True):
15
+ id: Optional[int] = Field(default=None, primary_key=True)
16
+ name: str = Field(index=True)
17
+ secret_name: str
18
+ age: Optional[int] = Field(default=None, index=True)
19
+
20
+ team_id: Optional[int] = Field(
21
+ default=None, foreign_key="team.id", ondelete="CASCADE"
22
+ )
23
+ team: Optional[Team] = Relationship(back_populates="heroes")
24
+
25
+
26
+ sqlite_file_name = "database.db"
27
+ sqlite_url = f"sqlite:///{sqlite_file_name}"
28
+
29
+ engine = create_engine(sqlite_url, echo=True)
30
+
31
+
32
+ def create_db_and_tables():
33
+ SQLModel.metadata.create_all(engine)
34
+
35
+
36
+ def create_heroes():
37
+ with Session(engine) as session:
38
+ team_preventers = Team(name="Preventers", headquarters="Sharp Tower")
39
+ team_z_force = Team(name="Z-Force", headquarters="Sister Margaret's Bar")
40
+
41
+ hero_deadpond = Hero(
42
+ name="Deadpond", secret_name="Dive Wilson", team=team_z_force
43
+ )
44
+ hero_rusty_man = Hero(
45
+ name="Rusty-Man", secret_name="Tommy Sharp", age=48, team=team_preventers
46
+ )
47
+ hero_spider_boy = Hero(name="Spider-Boy", secret_name="Pedro Parqueador")
48
+ session.add(hero_deadpond)
49
+ session.add(hero_rusty_man)
50
+ session.add(hero_spider_boy)
51
+ session.commit()
52
+
53
+ session.refresh(hero_deadpond)
54
+ session.refresh(hero_rusty_man)
55
+ session.refresh(hero_spider_boy)
56
+
57
+ print("Created hero:", hero_deadpond)
58
+ print("Created hero:", hero_rusty_man)
59
+ print("Created hero:", hero_spider_boy)
60
+
61
+ hero_spider_boy.team = team_preventers
62
+ session.add(hero_spider_boy)
63
+ session.commit()
64
+ session.refresh(hero_spider_boy)
65
+ print("Updated hero:", hero_spider_boy)
66
+
67
+ hero_black_lion = Hero(name="Black Lion", secret_name="Trevor Challa", age=35)
68
+ hero_sure_e = Hero(name="Princess Sure-E", secret_name="Sure-E")
69
+ team_wakaland = Team(
70
+ name="Wakaland",
71
+ headquarters="Wakaland Capital City",
72
+ heroes=[hero_black_lion, hero_sure_e],
73
+ )
74
+ session.add(team_wakaland)
75
+ session.commit()
76
+ session.refresh(team_wakaland)
77
+ print("Team Wakaland:", team_wakaland)
78
+
79
+
80
+ def delete_team():
81
+ with Session(engine) as session:
82
+ statement = select(Team).where(Team.name == "Wakaland")
83
+ team = session.exec(statement).one()
84
+ session.delete(team)
85
+ session.commit()
86
+ print("Deleted team:", team)
87
+
88
+
89
+ def select_deleted_heroes():
90
+ with Session(engine) as session:
91
+ statement = select(Hero).where(Hero.name == "Black Lion")
92
+ result = session.exec(statement)
93
+ hero = result.first()
94
+ print("Black Lion not found:", hero)
95
+
96
+ statement = select(Hero).where(Hero.name == "Princess Sure-E")
97
+ result = session.exec(statement)
98
+ hero = result.first()
99
+ print("Princess Sure-E not found:", hero)
100
+
101
+
102
+ def main():
103
+ create_db_and_tables()
104
+ create_heroes()
105
+ delete_team()
106
+ select_deleted_heroes()
107
+
108
+
109
+ if __name__ == "__main__":
110
+ main()
@@ -0,0 +1,106 @@
1
+ from sqlmodel import Field, Relationship, Session, SQLModel, create_engine, select
2
+
3
+
4
+ class Team(SQLModel, table=True):
5
+ id: int | None = Field(default=None, primary_key=True)
6
+ name: str = Field(index=True)
7
+ headquarters: str
8
+
9
+ heroes: list["Hero"] = Relationship(back_populates="team", cascade_delete=True)
10
+
11
+
12
+ class Hero(SQLModel, table=True):
13
+ id: int | None = Field(default=None, primary_key=True)
14
+ name: str = Field(index=True)
15
+ secret_name: str
16
+ age: int | None = Field(default=None, index=True)
17
+
18
+ team_id: int | None = Field(default=None, foreign_key="team.id", ondelete="CASCADE")
19
+ team: Team | None = Relationship(back_populates="heroes")
20
+
21
+
22
+ sqlite_file_name = "database.db"
23
+ sqlite_url = f"sqlite:///{sqlite_file_name}"
24
+
25
+ engine = create_engine(sqlite_url, echo=True)
26
+
27
+
28
+ def create_db_and_tables():
29
+ SQLModel.metadata.create_all(engine)
30
+
31
+
32
+ def create_heroes():
33
+ with Session(engine) as session:
34
+ team_preventers = Team(name="Preventers", headquarters="Sharp Tower")
35
+ team_z_force = Team(name="Z-Force", headquarters="Sister Margaret's Bar")
36
+
37
+ hero_deadpond = Hero(
38
+ name="Deadpond", secret_name="Dive Wilson", team=team_z_force
39
+ )
40
+ hero_rusty_man = Hero(
41
+ name="Rusty-Man", secret_name="Tommy Sharp", age=48, team=team_preventers
42
+ )
43
+ hero_spider_boy = Hero(name="Spider-Boy", secret_name="Pedro Parqueador")
44
+ session.add(hero_deadpond)
45
+ session.add(hero_rusty_man)
46
+ session.add(hero_spider_boy)
47
+ session.commit()
48
+
49
+ session.refresh(hero_deadpond)
50
+ session.refresh(hero_rusty_man)
51
+ session.refresh(hero_spider_boy)
52
+
53
+ print("Created hero:", hero_deadpond)
54
+ print("Created hero:", hero_rusty_man)
55
+ print("Created hero:", hero_spider_boy)
56
+
57
+ hero_spider_boy.team = team_preventers
58
+ session.add(hero_spider_boy)
59
+ session.commit()
60
+ session.refresh(hero_spider_boy)
61
+ print("Updated hero:", hero_spider_boy)
62
+
63
+ hero_black_lion = Hero(name="Black Lion", secret_name="Trevor Challa", age=35)
64
+ hero_sure_e = Hero(name="Princess Sure-E", secret_name="Sure-E")
65
+ team_wakaland = Team(
66
+ name="Wakaland",
67
+ headquarters="Wakaland Capital City",
68
+ heroes=[hero_black_lion, hero_sure_e],
69
+ )
70
+ session.add(team_wakaland)
71
+ session.commit()
72
+ session.refresh(team_wakaland)
73
+ print("Team Wakaland:", team_wakaland)
74
+
75
+
76
+ def delete_team():
77
+ with Session(engine) as session:
78
+ statement = select(Team).where(Team.name == "Wakaland")
79
+ team = session.exec(statement).one()
80
+ session.delete(team)
81
+ session.commit()
82
+ print("Deleted team:", team)
83
+
84
+
85
+ def select_deleted_heroes():
86
+ with Session(engine) as session:
87
+ statement = select(Hero).where(Hero.name == "Black Lion")
88
+ result = session.exec(statement)
89
+ hero = result.first()
90
+ print("Black Lion not found:", hero)
91
+
92
+ statement = select(Hero).where(Hero.name == "Princess Sure-E")
93
+ result = session.exec(statement)
94
+ hero = result.first()
95
+ print("Princess Sure-E not found:", hero)
96
+
97
+
98
+ def main():
99
+ create_db_and_tables()
100
+ create_heroes()
101
+ delete_team()
102
+ select_deleted_heroes()
103
+
104
+
105
+ if __name__ == "__main__":
106
+ main()
@@ -0,0 +1,110 @@
1
+ from typing import Optional
2
+
3
+ from sqlmodel import Field, Relationship, Session, SQLModel, create_engine, select
4
+
5
+
6
+ class Team(SQLModel, table=True):
7
+ id: Optional[int] = Field(default=None, primary_key=True)
8
+ name: str = Field(index=True)
9
+ headquarters: str
10
+
11
+ heroes: list["Hero"] = Relationship(back_populates="team", cascade_delete=True)
12
+
13
+
14
+ class Hero(SQLModel, table=True):
15
+ id: Optional[int] = Field(default=None, primary_key=True)
16
+ name: str = Field(index=True)
17
+ secret_name: str
18
+ age: Optional[int] = Field(default=None, index=True)
19
+
20
+ team_id: Optional[int] = Field(
21
+ default=None, foreign_key="team.id", ondelete="CASCADE"
22
+ )
23
+ team: Optional[Team] = Relationship(back_populates="heroes")
24
+
25
+
26
+ sqlite_file_name = "database.db"
27
+ sqlite_url = f"sqlite:///{sqlite_file_name}"
28
+
29
+ engine = create_engine(sqlite_url, echo=True)
30
+
31
+
32
+ def create_db_and_tables():
33
+ SQLModel.metadata.create_all(engine)
34
+
35
+
36
+ def create_heroes():
37
+ with Session(engine) as session:
38
+ team_preventers = Team(name="Preventers", headquarters="Sharp Tower")
39
+ team_z_force = Team(name="Z-Force", headquarters="Sister Margaret's Bar")
40
+
41
+ hero_deadpond = Hero(
42
+ name="Deadpond", secret_name="Dive Wilson", team=team_z_force
43
+ )
44
+ hero_rusty_man = Hero(
45
+ name="Rusty-Man", secret_name="Tommy Sharp", age=48, team=team_preventers
46
+ )
47
+ hero_spider_boy = Hero(name="Spider-Boy", secret_name="Pedro Parqueador")
48
+ session.add(hero_deadpond)
49
+ session.add(hero_rusty_man)
50
+ session.add(hero_spider_boy)
51
+ session.commit()
52
+
53
+ session.refresh(hero_deadpond)
54
+ session.refresh(hero_rusty_man)
55
+ session.refresh(hero_spider_boy)
56
+
57
+ print("Created hero:", hero_deadpond)
58
+ print("Created hero:", hero_rusty_man)
59
+ print("Created hero:", hero_spider_boy)
60
+
61
+ hero_spider_boy.team = team_preventers
62
+ session.add(hero_spider_boy)
63
+ session.commit()
64
+ session.refresh(hero_spider_boy)
65
+ print("Updated hero:", hero_spider_boy)
66
+
67
+ hero_black_lion = Hero(name="Black Lion", secret_name="Trevor Challa", age=35)
68
+ hero_sure_e = Hero(name="Princess Sure-E", secret_name="Sure-E")
69
+ team_wakaland = Team(
70
+ name="Wakaland",
71
+ headquarters="Wakaland Capital City",
72
+ heroes=[hero_black_lion, hero_sure_e],
73
+ )
74
+ session.add(team_wakaland)
75
+ session.commit()
76
+ session.refresh(team_wakaland)
77
+ print("Team Wakaland:", team_wakaland)
78
+
79
+
80
+ def delete_team():
81
+ with Session(engine) as session:
82
+ statement = select(Team).where(Team.name == "Wakaland")
83
+ team = session.exec(statement).one()
84
+ session.delete(team)
85
+ session.commit()
86
+ print("Deleted team:", team)
87
+
88
+
89
+ def select_deleted_heroes():
90
+ with Session(engine) as session:
91
+ statement = select(Hero).where(Hero.name == "Black Lion")
92
+ result = session.exec(statement)
93
+ hero = result.first()
94
+ print("Black Lion not found:", hero)
95
+
96
+ statement = select(Hero).where(Hero.name == "Princess Sure-E")
97
+ result = session.exec(statement)
98
+ hero = result.first()
99
+ print("Princess Sure-E not found:", hero)
100
+
101
+
102
+ def main():
103
+ create_db_and_tables()
104
+ create_heroes()
105
+ delete_team()
106
+ select_deleted_heroes()
107
+
108
+
109
+ if __name__ == "__main__":
110
+ main()
@@ -0,0 +1,110 @@
1
+ from typing import List, Optional
2
+
3
+ from sqlmodel import Field, Relationship, Session, SQLModel, create_engine, select
4
+
5
+
6
+ class Team(SQLModel, table=True):
7
+ id: Optional[int] = Field(default=None, primary_key=True)
8
+ name: str = Field(index=True)
9
+ headquarters: str
10
+
11
+ heroes: List["Hero"] = Relationship(back_populates="team")
12
+
13
+
14
+ class Hero(SQLModel, table=True):
15
+ id: Optional[int] = Field(default=None, primary_key=True)
16
+ name: str = Field(index=True)
17
+ secret_name: str
18
+ age: Optional[int] = Field(default=None, index=True)
19
+
20
+ team_id: Optional[int] = Field(
21
+ default=None, foreign_key="team.id", ondelete="SET NULL"
22
+ )
23
+ team: Optional[Team] = Relationship(back_populates="heroes")
24
+
25
+
26
+ sqlite_file_name = "database.db"
27
+ sqlite_url = f"sqlite:///{sqlite_file_name}"
28
+
29
+ engine = create_engine(sqlite_url, echo=True)
30
+
31
+
32
+ def create_db_and_tables():
33
+ SQLModel.metadata.create_all(engine)
34
+
35
+
36
+ def create_heroes():
37
+ with Session(engine) as session:
38
+ team_preventers = Team(name="Preventers", headquarters="Sharp Tower")
39
+ team_z_force = Team(name="Z-Force", headquarters="Sister Margaret's Bar")
40
+
41
+ hero_deadpond = Hero(
42
+ name="Deadpond", secret_name="Dive Wilson", team=team_z_force
43
+ )
44
+ hero_rusty_man = Hero(
45
+ name="Rusty-Man", secret_name="Tommy Sharp", age=48, team=team_preventers
46
+ )
47
+ hero_spider_boy = Hero(name="Spider-Boy", secret_name="Pedro Parqueador")
48
+ session.add(hero_deadpond)
49
+ session.add(hero_rusty_man)
50
+ session.add(hero_spider_boy)
51
+ session.commit()
52
+
53
+ session.refresh(hero_deadpond)
54
+ session.refresh(hero_rusty_man)
55
+ session.refresh(hero_spider_boy)
56
+
57
+ print("Created hero:", hero_deadpond)
58
+ print("Created hero:", hero_rusty_man)
59
+ print("Created hero:", hero_spider_boy)
60
+
61
+ hero_spider_boy.team = team_preventers
62
+ session.add(hero_spider_boy)
63
+ session.commit()
64
+ session.refresh(hero_spider_boy)
65
+ print("Updated hero:", hero_spider_boy)
66
+
67
+ hero_black_lion = Hero(name="Black Lion", secret_name="Trevor Challa", age=35)
68
+ hero_sure_e = Hero(name="Princess Sure-E", secret_name="Sure-E")
69
+ team_wakaland = Team(
70
+ name="Wakaland",
71
+ headquarters="Wakaland Capital City",
72
+ heroes=[hero_black_lion, hero_sure_e],
73
+ )
74
+ session.add(team_wakaland)
75
+ session.commit()
76
+ session.refresh(team_wakaland)
77
+ print("Team Wakaland:", team_wakaland)
78
+
79
+
80
+ def delete_team():
81
+ with Session(engine) as session:
82
+ statement = select(Team).where(Team.name == "Wakaland")
83
+ team = session.exec(statement).one()
84
+ session.delete(team)
85
+ session.commit()
86
+ print("Deleted team:", team)
87
+
88
+
89
+ def select_deleted_heroes():
90
+ with Session(engine) as session:
91
+ statement = select(Hero).where(Hero.name == "Black Lion")
92
+ result = session.exec(statement)
93
+ hero = result.first()
94
+ print("Black Lion has no team:", hero)
95
+
96
+ statement = select(Hero).where(Hero.name == "Princess Sure-E")
97
+ result = session.exec(statement)
98
+ hero = result.first()
99
+ print("Princess Sure-E has no team:", hero)
100
+
101
+
102
+ def main():
103
+ create_db_and_tables()
104
+ create_heroes()
105
+ delete_team()
106
+ select_deleted_heroes()
107
+
108
+
109
+ if __name__ == "__main__":
110
+ main()