TypeDAL 4.6.2__tar.gz → 4.6.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.
Files changed (74) hide show
  1. {typedal-4.6.2 → typedal-4.6.3}/CHANGELOG.md +6 -0
  2. {typedal-4.6.2 → typedal-4.6.3}/PKG-INFO +1 -1
  3. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/__about__.py +1 -1
  4. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/cli.py +1 -2
  5. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/fields.py +1 -3
  6. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/tables.py +1 -0
  7. {typedal-4.6.2 → typedal-4.6.3}/tests/test_row.py +20 -0
  8. {typedal-4.6.2 → typedal-4.6.3}/.crush/.gitignore +0 -0
  9. {typedal-4.6.2 → typedal-4.6.3}/.crush/crush.db-shm +0 -0
  10. {typedal-4.6.2 → typedal-4.6.3}/.crush/crush.db-wal +0 -0
  11. {typedal-4.6.2 → typedal-4.6.3}/.crush/init +0 -0
  12. {typedal-4.6.2 → typedal-4.6.3}/.crush/logs/crush.log +0 -0
  13. {typedal-4.6.2 → typedal-4.6.3}/.github/workflows/su6.yml +0 -0
  14. {typedal-4.6.2 → typedal-4.6.3}/.gitignore +0 -0
  15. {typedal-4.6.2 → typedal-4.6.3}/.readthedocs.yml +0 -0
  16. {typedal-4.6.2 → typedal-4.6.3}/README.md +0 -0
  17. {typedal-4.6.2 → typedal-4.6.3}/coverage.svg +0 -0
  18. {typedal-4.6.2 → typedal-4.6.3}/docs/10_advanced_apis.md +0 -0
  19. {typedal-4.6.2 → typedal-4.6.3}/docs/1_getting_started.md +0 -0
  20. {typedal-4.6.2 → typedal-4.6.3}/docs/2_defining_tables.md +0 -0
  21. {typedal-4.6.2 → typedal-4.6.3}/docs/3_building_queries.md +0 -0
  22. {typedal-4.6.2 → typedal-4.6.3}/docs/4_relationships.md +0 -0
  23. {typedal-4.6.2 → typedal-4.6.3}/docs/5_py4web.md +0 -0
  24. {typedal-4.6.2 → typedal-4.6.3}/docs/6_migrations.md +0 -0
  25. {typedal-4.6.2 → typedal-4.6.3}/docs/7_configuration.md +0 -0
  26. {typedal-4.6.2 → typedal-4.6.3}/docs/8_mixins.md +0 -0
  27. {typedal-4.6.2 → typedal-4.6.3}/docs/9_memoization.md +0 -0
  28. {typedal-4.6.2 → typedal-4.6.3}/docs/css/code_blocks.css +0 -0
  29. {typedal-4.6.2 → typedal-4.6.3}/docs/index.md +0 -0
  30. {typedal-4.6.2 → typedal-4.6.3}/docs/requirements.txt +0 -0
  31. {typedal-4.6.2 → typedal-4.6.3}/example_new.py +0 -0
  32. {typedal-4.6.2 → typedal-4.6.3}/example_old.py +0 -0
  33. {typedal-4.6.2 → typedal-4.6.3}/mkdocs.yml +0 -0
  34. {typedal-4.6.2 → typedal-4.6.3}/pyproject.toml +0 -0
  35. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/__init__.py +0 -0
  36. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/caching.py +0 -0
  37. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/config.py +0 -0
  38. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/constants.py +0 -0
  39. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/core.py +0 -0
  40. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/define.py +0 -0
  41. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/for_py4web.py +0 -0
  42. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/for_web2py.py +0 -0
  43. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/helpers.py +0 -0
  44. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/mixins.py +0 -0
  45. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/py.typed +0 -0
  46. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/query_builder.py +0 -0
  47. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/relationships.py +0 -0
  48. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/rows.py +0 -0
  49. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/serializers/as_json.py +0 -0
  50. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/types.py +0 -0
  51. {typedal-4.6.2 → typedal-4.6.3}/src/typedal/web2py_py4web_shared.py +0 -0
  52. {typedal-4.6.2 → typedal-4.6.3}/tasks.py +0 -0
  53. {typedal-4.6.2 → typedal-4.6.3}/tests/__init__.py +0 -0
  54. {typedal-4.6.2 → typedal-4.6.3}/tests/configs/simple.toml +0 -0
  55. {typedal-4.6.2 → typedal-4.6.3}/tests/configs/valid.env +0 -0
  56. {typedal-4.6.2 → typedal-4.6.3}/tests/configs/valid.toml +0 -0
  57. {typedal-4.6.2 → typedal-4.6.3}/tests/py314_tests.py +0 -0
  58. {typedal-4.6.2 → typedal-4.6.3}/tests/test_cli.py +0 -0
  59. {typedal-4.6.2 → typedal-4.6.3}/tests/test_config.py +0 -0
  60. {typedal-4.6.2 → typedal-4.6.3}/tests/test_docs_examples.py +0 -0
  61. {typedal-4.6.2 → typedal-4.6.3}/tests/test_helpers.py +0 -0
  62. {typedal-4.6.2 → typedal-4.6.3}/tests/test_json.py +0 -0
  63. {typedal-4.6.2 → typedal-4.6.3}/tests/test_main.py +0 -0
  64. {typedal-4.6.2 → typedal-4.6.3}/tests/test_mixins.py +0 -0
  65. {typedal-4.6.2 → typedal-4.6.3}/tests/test_mypy.py +0 -0
  66. {typedal-4.6.2 → typedal-4.6.3}/tests/test_orm.py +0 -0
  67. {typedal-4.6.2 → typedal-4.6.3}/tests/test_py4web.py +0 -0
  68. {typedal-4.6.2 → typedal-4.6.3}/tests/test_query_builder.py +0 -0
  69. {typedal-4.6.2 → typedal-4.6.3}/tests/test_relationships.py +0 -0
  70. {typedal-4.6.2 → typedal-4.6.3}/tests/test_stats.py +0 -0
  71. {typedal-4.6.2 → typedal-4.6.3}/tests/test_table.py +0 -0
  72. {typedal-4.6.2 → typedal-4.6.3}/tests/test_web2py.py +0 -0
  73. {typedal-4.6.2 → typedal-4.6.3}/tests/test_xx_others.py +0 -0
  74. {typedal-4.6.2 → typedal-4.6.3}/tests/timings.py +0 -0
@@ -2,6 +2,12 @@
2
2
 
3
3
  <!--next-version-placeholder-->
4
4
 
5
+ ## v4.6.3 (2026-03-19)
6
+
7
+ ### Fix
8
+
9
+ * `as_dict()` and similar changed behavior after doing `.render()` ([`8241503`](https://github.com/trialandsuccess/TypeDAL/commit/8241503073c5a9fd76cc898048f6c7796de3ce7a))
10
+
5
11
  ## v4.6.2 (2026-03-13)
6
12
 
7
13
  ### Fix
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TypeDAL
3
- Version: 4.6.2
3
+ Version: 4.6.3
4
4
  Summary: Typing support for PyDAL
5
5
  Project-URL: Documentation, https://typedal.readthedocs.io/
6
6
  Project-URL: Issues, https://github.com/trialandsuccess/TypeDAL/issues
@@ -5,4 +5,4 @@ This file contains the Version info for this package.
5
5
  # SPDX-FileCopyrightText: 2023-present Robin van der Noord <robinvandernoord@gmail.com>
6
6
  #
7
7
  # SPDX-License-Identifier: MIT
8
- __version__ = "4.6.2"
8
+ __version__ = "4.6.3"
@@ -390,8 +390,7 @@ def fake_migrations(
390
390
 
391
391
  previously_migrated = (
392
392
  db(
393
- db.ewh_implemented_features.name.belongs(to_fake)
394
- & (db.ewh_implemented_features.installed == True) # noqa E712
393
+ db.ewh_implemented_features.name.belongs(to_fake) & (db.ewh_implemented_features.installed == True) # noqa E712
395
394
  )
396
395
  .select(db.ewh_implemented_features.name)
397
396
  .column("name")
@@ -373,9 +373,7 @@ def UploadField(**kw: t.Unpack[FieldSettings]) -> TypedField[str]:
373
373
  Upload = UploadField
374
374
 
375
375
 
376
- def ReferenceField[
377
- T_subclass: (TypedTable, Table)
378
- ](
376
+ def ReferenceField[T_subclass: (TypedTable, Table)](
379
377
  other_table: str | t.Type[TypedTable] | TypedTable | Table | T_subclass,
380
378
  **kw: t.Unpack[FieldSettings],
381
379
  ) -> TypedField[int]:
@@ -1104,6 +1104,7 @@ class TypedTable(_TypedTable, metaclass=TableMeta):
1104
1104
  # then create a new (more empty) row object:
1105
1105
  state["_row"] = Row(json.loads(state["_row"]))
1106
1106
  self.__dict__ |= state
1107
+ self._setup_instance_methods()
1107
1108
 
1108
1109
  @classmethod
1109
1110
  def _sql(cls) -> str:
@@ -266,6 +266,15 @@ def test_render():
266
266
  assert rendered_two.normal == "123"
267
267
  assert rendered_two.list_field == "abc, def"
268
268
  assert rendered_two.related.also_normal == "321"
269
+ assert json.loads(rendered_two.as_json()) == {
270
+ "id": rendered_two.id,
271
+ "normal": "123",
272
+ "list_field": "abc, def",
273
+ "related": {
274
+ "id": rendered_two.related.id,
275
+ "also_normal": "321",
276
+ },
277
+ }
269
278
 
270
279
  # test list:
271
280
 
@@ -287,3 +296,14 @@ def test_render():
287
296
  assert rendered_four.normal == "123"
288
297
  assert rendered_four.list_field == "abc, def"
289
298
  assert rendered_four.related_list[0].also_normal == "321"
299
+ assert json.loads(rendered_four.as_json()) == {
300
+ "id": rendered_four.id,
301
+ "normal": "123",
302
+ "list_field": "abc, def",
303
+ "related_list": [
304
+ {
305
+ "id": rendered_four.related_list[0].id,
306
+ "also_normal": "321",
307
+ }
308
+ ],
309
+ }
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