TypeDAL 3.15.2__tar.gz → 3.15.3__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.
Potentially problematic release.
This version of TypeDAL might be problematic. Click here for more details.
- {typedal-3.15.2 → typedal-3.15.3}/CHANGELOG.md +6 -0
- {typedal-3.15.2 → typedal-3.15.3}/PKG-INFO +1 -1
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/__about__.py +1 -1
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/core.py +8 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_relationships.py +6 -0
- {typedal-3.15.2 → typedal-3.15.3}/.github/workflows/su6.yml +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/.gitignore +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/.readthedocs.yml +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/README.md +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/coverage.svg +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/docs/1_getting_started.md +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/docs/2_defining_tables.md +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/docs/3_building_queries.md +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/docs/4_relationships.md +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/docs/5_py4web.md +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/docs/6_migrations.md +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/docs/7_mixins.md +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/docs/css/code_blocks.css +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/docs/index.md +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/docs/requirements.txt +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/example_new.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/example_old.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/mkdocs.yml +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/pyproject.toml +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/__init__.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/caching.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/cli.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/config.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/fields.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/for_py4web.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/for_web2py.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/helpers.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/mixins.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/py.typed +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/serializers/as_json.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/types.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/src/typedal/web2py_py4web_shared.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/__init__.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/configs/simple.toml +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/configs/valid.env +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/configs/valid.toml +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_cli.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_config.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_docs_examples.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_helpers.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_json.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_main.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_mixins.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_mypy.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_orm.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_py4web.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_query_builder.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_row.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_stats.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_table.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_web2py.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/test_xx_others.py +0 -0
- {typedal-3.15.2 → typedal-3.15.3}/tests/timings.py +0 -0
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
<!--next-version-placeholder-->
|
|
4
4
|
|
|
5
|
+
## v3.15.3 (2025-07-25)
|
|
6
|
+
|
|
7
|
+
### Fix
|
|
8
|
+
|
|
9
|
+
* Support `dict(row)` via `row.keys()`, also returning relationships ([`99fc2ef`](https://github.com/trialandsuccess/TypeDAL/commit/99fc2ef7b398947efae64f9be34770828a8d1730))
|
|
10
|
+
|
|
5
11
|
## v3.15.2 (2025-07-24)
|
|
6
12
|
|
|
7
13
|
### Fix
|
|
@@ -1697,6 +1697,14 @@ class TypedTable(_TypedTable, metaclass=TableMeta):
|
|
|
1697
1697
|
|
|
1698
1698
|
raise AttributeError(item)
|
|
1699
1699
|
|
|
1700
|
+
def keys(self):
|
|
1701
|
+
"""
|
|
1702
|
+
Return the combination of row + relationship keys.
|
|
1703
|
+
|
|
1704
|
+
Used by dict(row).
|
|
1705
|
+
"""
|
|
1706
|
+
return list(self._row.keys()) + getattr(self, "_with", [])
|
|
1707
|
+
|
|
1700
1708
|
def get(self, item: str, default: Any = None) -> Any:
|
|
1701
1709
|
"""
|
|
1702
1710
|
Try to get a column from this instance, else return default.
|
|
@@ -293,6 +293,12 @@ def test_typedal_way():
|
|
|
293
293
|
|
|
294
294
|
assert len(role_writer.users) == 2
|
|
295
295
|
|
|
296
|
+
author1 = User.where(id=4).join().first()
|
|
297
|
+
|
|
298
|
+
assert (
|
|
299
|
+
len(author1.as_dict()["articles"]) == len(author1.__dict__["articles"]) == len(dict(author1)["articles"]) == 2
|
|
300
|
+
)
|
|
301
|
+
|
|
296
302
|
|
|
297
303
|
def test_reprs():
|
|
298
304
|
_setup_data()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|