TypeDAL 3.16.3__py3-none-any.whl → 3.16.4__py3-none-any.whl

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.
typedal/__about__.py CHANGED
@@ -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__ = "3.16.3"
8
+ __version__ = "3.16.4"
typedal/core.py CHANGED
@@ -2054,19 +2054,39 @@ class TypedTable(_TypedTable, metaclass=TableMeta):
2054
2054
  )
2055
2055
  # else: relationship, different logic:
2056
2056
 
2057
- for relation_name in row._with:
2057
+ for relation_name in getattr(row, "_with", []):
2058
2058
  if relation := self._relationships.get(relation_name):
2059
2059
  relation_table = relation.table
2060
2060
 
2061
2061
  relation_row = row[relation_name]
2062
- for fieldname in relation_row:
2063
- field = relation_table[fieldname]
2064
- row[relation_name][fieldname] = self._db.represent(
2065
- "rows_render",
2066
- field,
2067
- relation_row[field.name],
2068
- relation_row,
2069
- )
2062
+
2063
+ if isinstance(relation_row, list):
2064
+ # list of rows
2065
+ combined = []
2066
+
2067
+ for related_og in relation_row:
2068
+ related = copy.deepcopy(related_og)
2069
+ for fieldname in related:
2070
+ field = relation_table[fieldname]
2071
+ related[field.name] = self._db.represent(
2072
+ "rows_render",
2073
+ field,
2074
+ related[field.name],
2075
+ related,
2076
+ )
2077
+ combined.append(related)
2078
+
2079
+ row[relation_name] = combined
2080
+ else:
2081
+ # 1 row
2082
+ for fieldname in relation_row:
2083
+ field = relation_table[fieldname]
2084
+ row[relation_name][fieldname] = self._db.represent(
2085
+ "rows_render",
2086
+ field,
2087
+ relation_row[field.name],
2088
+ relation_row,
2089
+ )
2070
2090
 
2071
2091
  if compact and len(keys) == 1 and keys[0] != "_extra": # pragma: no cover
2072
2092
  return row[keys[0]]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: TypeDAL
3
- Version: 3.16.3
3
+ Version: 3.16.4
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
@@ -1,9 +1,9 @@
1
- typedal/__about__.py,sha256=07zHmfNrgHIOSZ4D_zREzoRZ1Uy35o5sVinxkwxx-6k,207
1
+ typedal/__about__.py,sha256=b4WRvaxkT5bkr-NnSsTloyIQ-ekyL970tZv3Hsazu-s,207
2
2
  typedal/__init__.py,sha256=Y6LT5UE3HrfWND_drJddYFbDjfnvqQER8MxZiEREFGw,366
3
3
  typedal/caching.py,sha256=6YUzUMpan56nSy3D-Jl0FS-8V4LbTnpRSoDJHj6yPYo,11782
4
4
  typedal/cli.py,sha256=SnWceLPDd-t90VPHAV9O3RR7JZtpVniT55TqtrRv3VM,19255
5
5
  typedal/config.py,sha256=0qy1zrTUdtmXPM9jHzFnSR1DJsqGJqcdG6pvhzKQHe0,11625
6
- typedal/core.py,sha256=33hzCFvCaiszDGBX05k0xoWFa4a3DJOXFgf5a9mkuvg,115189
6
+ typedal/core.py,sha256=FGrxs8PCTO8mTGD4RjGRWxG4dLjrqECJPG1nNfqWkRA,116013
7
7
  typedal/fields.py,sha256=oOmTonXG-g4Lpj5_gSr8GJ-EZIEqO435Fm8-MS_cmoc,7356
8
8
  typedal/for_py4web.py,sha256=KIIu8XgnAfRQCJfZCra79k8SInOHiFuLDKUv3hzTJng,1908
9
9
  typedal/for_web2py.py,sha256=xn7zo6ImsmTkH6LacbjLQl2oqyBvP0zLqRxEJvMQk1w,1929
@@ -13,7 +13,7 @@ typedal/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  typedal/types.py,sha256=1FIgv1s0be0E8r5Wd9E1nvDvK4ETV8u2NlfI7_P6UUY,6752
14
14
  typedal/web2py_py4web_shared.py,sha256=UYmD0_aK1bSVBt_f3j59Mxq-zOmQNkYkb8sPDUibq68,1539
15
15
  typedal/serializers/as_json.py,sha256=3JZlFhPrdvZVFAmH7P5DUAz8-TIk-br0F1CjKG3PFDM,2246
16
- typedal-3.16.3.dist-info/METADATA,sha256=cRjhzaVmK3xSH8k4LrVdKoXifbtlgj6SjIwAAVrXnsc,10461
17
- typedal-3.16.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
18
- typedal-3.16.3.dist-info/entry_points.txt,sha256=m1wqcc_10rHWPdlQ71zEkmJDADUAnZtn7Jac_6mbyUc,44
19
- typedal-3.16.3.dist-info/RECORD,,
16
+ typedal-3.16.4.dist-info/METADATA,sha256=Vx98N5MXgzHzLrx79BWgQc-YQomJue_8T_zFmU3t5ZI,10461
17
+ typedal-3.16.4.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
18
+ typedal-3.16.4.dist-info/entry_points.txt,sha256=m1wqcc_10rHWPdlQ71zEkmJDADUAnZtn7Jac_6mbyUc,44
19
+ typedal-3.16.4.dist-info/RECORD,,