Closed sirex closed 3 weeks ago
Pilnas traceback:
/home/karina/work/ivpk/spinta/spinta/cli/manifest.py:62 in copy │
│ │
│ 59 ): │
│ 60 │ """Copy models from CSV manifest files into another CSV manifest file""" │
│ 61 │ context: Context = ctx.obj │
│ ❱ 62 │ copy_manifest( │
│ 63 │ │ context, │
│ 64 │ │ source=source, │
│ 65 │ │ access=access, │
│ │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ access = 'private' │ │
│ │ columns = None │ │
│ │ context = <spinta.components.Context(cli:0) at 0x74f9861ddea0> │ │
│ │ ctx = <click.core.Context object at 0x74f9861deb60> │ │
│ │ format_names = False │ │
│ │ manifests = [ │ │
│ │ │ │ │
│ │ '/home/karina/work/ivpk/spinta/xsds/ntr_result/dsa_715_NTR_NTR_Pastate_… │ │
│ │ ] │ │
│ │ order_by = None │ │
│ │ output = '715.mmd' │ │
│ │ rename_duplicates = False │ │
│ │ source = True │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/karina/work/ivpk/spinta/spinta/cli/manifest.py:105 in copy_manifest │
│ │
│ 102 │ │ output_type = "mermaid" │
│ 103 │ │
│ 104 │ if internal or output_type == "mermaid": │
│ ❱ 105 │ │ rows = _read_and_return_manifest( │
│ 106 │ │ │ context, │
│ 107 │ │ │ manifests, │
│ 108 │ │ │ external=source, │
│ │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ access = <Access.private: 0> │ │
│ │ cols = None │ │
│ │ columns = None │ │
│ │ context = <spinta.components.Context(cli:0) at 0x74f9861ddea0> │ │
│ │ format_names = False │ │
│ │ internal = False │ │
│ │ manifests = [ │ │
│ │ │ │ │
│ │ '/home/karina/work/ivpk/spinta/xsds/ntr_result/dsa_715_NTR_NTR_Pastate_… │ │
│ │ ] │ │
│ │ order_by = None │ │
│ │ output = '715.mmd' │ │
│ │ output_type = 'mermaid' │ │
│ │ rename_duplicates = False │ │
│ │ source = True │ │
│ │ verbose = True │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/karina/work/ivpk/spinta/spinta/cli/manifest.py:150 in _read_and_return_manifest │
│ │
│ 147 │ verbose: bool = True, │
│ 148 ) -> Iterator[ManifestRow]: │
│ 149 │ context = configure_context(context, manifests) │
│ ❱ 150 │ store = load_manifest( │
│ 151 │ │ context, │
│ 152 │ │ rename_duplicates=rename_duplicates, │
│ 153 │ │ load_internal=False, │
│ │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ access = <Access.private: 0> │ │
│ │ context = <spinta.components.Context(cli:0 < configure:0) at 0x74f982866200> │ │
│ │ external = True │ │
│ │ format_names = False │ │
│ │ manifests = [ │ │
│ │ │ │ │
│ │ '/home/karina/work/ivpk/spinta/xsds/ntr_result/dsa_715_NTR_NTR_Pastate_… │ │
│ │ ] │ │
│ │ order_by = None │ │
│ │ rename_duplicates = False │ │
│ │ verbose = True │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/karina/work/ivpk/spinta/spinta/cli/helpers/store.py:120 in load_manifest │
│ │
│ 117 │ │ │ │ f"Loading {type(store.manifest).__name__} " │
│ 118 │ │ │ │ f"manifest {store.manifest.name}" │
│ 119 │ │ │ ) │
│ ❱ 120 │ commands.load( │
│ 121 │ │ context, store.manifest, │
│ 122 │ │ rename_duplicates=rename_duplicates, │
│ 123 │ │ load_internal=load_internal, │
│ │
│ ╭──────────────────────────────────────── locals ────────────────────────────────────────╮ │
│ │ context = <spinta.components.Context(cli:0 < configure:0) at 0x74f982866200> │ │
│ │ ensure_config_dir = False │ │
│ │ full_load = True │ │
│ │ load_internal = False │ │
│ │ rename_duplicates = False │ │
│ │ store = <spinta.components.Store object at 0x74f98283d4b0> │ │
│ │ verbose = True │ │
│ ╰────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/karina/work/ivpk/spinta/.venv/lib/python3.10/site-packages/multipledispatch/dispatcher.py: │
│ 279 in __call__ │
│ │
│ 276 │ │ │ │ ) │
│ 277 │ │ │ self._cache[types] = func │
│ 278 │ │ try: │
│ ❱ 279 │ │ │ return func(*args, **kwargs) │
│ 280 │ │ │
│ 281 │ │ except MDNotImplementedError: │
│ 282 │ │ │ funcs = self.dispatch_iter(*types) │
│ │
│ ╭───────────────────────────────────── locals ─────────────────────────────────────╮ │
│ │ args = ( │ │
│ │ │ <spinta.components.Context(cli:0 < configure:0) at 0x74f982866200>, │ │
│ │ │ <spinta.manifests.yaml.components.InlineManifest(name='default')> │ │
│ │ ) │ │
│ │ func = <function load at 0x74f984e9e950> │ │
│ │ kwargs = {'rename_duplicates': False, 'load_internal': False, 'full_load': True} │ │
│ │ self = <dispatched load> │ │
│ │ types = ( │ │
│ │ │ <class 'spinta.components.Context'>, │ │
│ │ │ <class 'spinta.manifests.yaml.components.InlineManifest'> │ │
│ │ ) │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/karina/work/ivpk/spinta/spinta/manifests/yaml/commands/load.py:110 in load │
│ │
│ 107 │ │ load_manifest_nodes(context, manifest, schemas) │
│ 108 │ │
│ 109 │ for source in manifest.sync: │
│ ❱ 110 │ │ commands.load( │
│ 111 │ │ │ context, source, │
│ 112 │ │ │ into=into or manifest, │
│ 113 │ │ │ freezed=freezed, │
│ │
│ ╭───────────────────────────────────────── locals ─────────────────────────────────────────╮ │
│ │ context = <spinta.components.Context(cli:0 < configure:0) at 0x74f982866200> │ │
│ │ freezed = True │ │
│ │ full_load = True │ │
│ │ into = None │ │
│ │ load_internal = False │ │
│ │ manifest = <spinta.manifests.yaml.components.InlineManifest(name='default')> │ │
│ │ rename_duplicates = False │ │
│ │ schemas = <generator object read_inline_manifest_schemas at 0x74f98280b220> │ │
│ │ source = <spinta.manifests.tabular.components.XlsxManifest(name='manifest0')> │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/karina/work/ivpk/spinta/.venv/lib/python3.10/site-packages/multipledispatch/dispatcher.py: │
│ 279 in __call__ │
│ │
│ 276 │ │ │ │ ) │
│ 277 │ │ │ self._cache[types] = func │
│ 278 │ │ try: │
│ ❱ 279 │ │ │ return func(*args, **kwargs) │
│ 280 │ │ │
│ 281 │ │ except MDNotImplementedError: │
│ 282 │ │ │ funcs = self.dispatch_iter(*types) │
│ │
│ ╭──────────────────────────────────────── locals ─────────────────────────────────────────╮ │
│ │ args = ( │ │
│ │ │ <spinta.components.Context(cli:0 < configure:0) at 0x74f982866200>, │ │
│ │ │ <spinta.manifests.tabular.components.XlsxManifest(name='manifest0')> │ │
│ │ ) │ │
│ │ func = <function load at 0x74f984e9ed40> │ │
│ │ kwargs = { │ │
│ │ │ 'into': <spinta.manifests.yaml.components.InlineManifest(name='default')>, │ │
│ │ │ 'freezed': True, │ │
│ │ │ 'rename_duplicates': False, │ │
│ │ │ 'load_internal': False, │ │
│ │ │ 'full_load': True │ │
│ │ } │ │
│ │ self = <dispatched load> │ │
│ │ types = ( │ │
│ │ │ <class 'spinta.components.Context'>, │ │
│ │ │ <class 'spinta.manifests.tabular.components.XlsxManifest'> │ │
│ │ ) │ │
│ ╰─────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/karina/work/ivpk/spinta/spinta/manifests/tabular/commands/load.py:59 in load │
│ │
│ 56 │ │ │ file=file, │
│ 57 │ │ │ rename_duplicates=rename_duplicates, │
│ 58 │ │ ) │
│ ❱ 59 │ │ load_manifest_nodes(context, into, schemas, source=manifest) │
│ 60 │ else: │
│ 61 │ │ log.info( │
│ 62 │ │ │ 'Loading freezed manifest %r from %s.', │
│ │
│ ╭───────────────────────────────────────── locals ─────────────────────────────────────────╮ │
│ │ context = <spinta.components.Context(cli:0 < configure:0) at 0x74f982866200> │ │
│ │ file = None │ │
│ │ freezed = True │ │
│ │ full_load = True │ │
│ │ into = <spinta.manifests.yaml.components.InlineManifest(name='default')> │ │
│ │ load_internal = False │ │
│ │ manifest = <spinta.manifests.tabular.components.XlsxManifest(name='manifest0')> │ │
│ │ rename_duplicates = False │ │
│ │ schemas = <generator object read_tabular_manifest at 0x74f98280b680> │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/karina/work/ivpk/spinta/spinta/manifests/helpers.py:133 in load_manifest_nodes │
│ │
│ 130 ) -> None: │
│ 131 │ to_link = [] │
│ 132 │ config = context.get('config') │
│ ❱ 133 │ for eid, schema in schemas: │
│ 134 │ │ if schema.get('type') == 'manifest': │
│ 135 │ │ │ _load_manifest(context, manifest, schema, eid) │
│ 136 │ │ else: │
│ │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ config = <spinta.components.Config object at 0x74f98283db10> │ │
│ │ context = <spinta.components.Context(cli:0 < configure:0) at 0x74f982866200> │ │
│ │ eid = 'Sheet1:58' │ │
│ │ link = False │ │
│ │ manifest = <spinta.manifests.yaml.components.InlineManifest(name='default')> │ │
│ │ node = <spinta.components.Model(name='n715_ntr_ntr_pastate_esanciu_patalpu_sarasas/Sist… │ │
│ │ schema = { │ │
│ │ │ 'type': 'model', │ │
│ │ │ 'id': None, │ │
│ │ │ 'name': 'n715_ntr_ntr_pastate_esanciu_patalpu_sarasas/SistemosInformacija', │ │
│ │ │ 'base': None, │ │
│ │ │ 'level': None, │ │
│ │ │ 'access': None, │ │
│ │ │ 'title': None, │ │
│ │ │ 'description': None, │ │
│ │ │ 'properties': { │ │
│ │ │ │ 'data': { │ │
│ │ │ │ │ 'id': None, │ │
│ │ │ │ │ 'type': 'string', │ │
│ │ │ │ │ 'type_args': [], │ │
│ │ │ │ │ 'level': None, │ │
│ │ │ │ │ 'access': None, │ │
│ │ │ │ │ 'uri': None, │ │
│ │ │ │ │ 'title': None, │ │
│ │ │ │ │ 'description': 'rezultato (atsakymo) suformavimo data', │ │
│ │ │ │ │ 'required': True, │ │
│ │ │ │ │ 'unique': False, │ │
│ │ │ │ │ ... +4 │ │
│ │ │ │ }, │ │
│ │ │ │ 'db': { │ │
│ │ │ │ │ 'id': None, │ │
│ │ │ │ │ 'type': 'string', │ │
│ │ │ │ │ 'type_args': [], │ │
│ │ │ │ │ 'level': None, │ │
│ │ │ │ │ 'access': None, │ │
│ │ │ │ │ 'uri': None, │ │
│ │ │ │ │ 'title': None, │ │
│ │ │ │ │ 'description': 'RC aplinkos kodas', │ │
│ │ │ │ │ 'required': True, │ │
│ │ │ │ │ 'unique': False, │ │
│ │ │ │ │ ... +4 │ │
│ │ │ │ }, │ │
│ │ │ │ 'irasai': { │ │
│ │ │ │ │ 'id': None, │ │
│ │ │ │ │ 'type': 'ref', │ │
│ │ │ │ │ 'type_args': [], │ │
│ │ │ │ │ 'level': None, │ │
│ │ │ │ │ 'access': None, │ │
│ │ │ │ │ 'uri': None, │ │
│ │ │ │ │ 'title': None, │ │
│ │ │ │ │ 'description': 'informacija apie paieškos rezultatų kiekį', │ │
│ │ │ │ │ 'required': True, │ │
│ │ │ │ │ 'unique': False, │ │
│ │ │ │ │ ... +6 │ │
│ │ │ │ }, │ │
│ │ │ │ 'salygos': { │ │
│ │ │ │ │ 'id': None, │ │
│ │ │ │ │ 'type': 'ref', │ │
│ │ │ │ │ 'type_args': [], │ │
│ │ │ │ │ 'level': None, │ │
│ │ │ │ │ 'access': None, │ │
│ │ │ │ │ 'uri': None, │ │
│ │ │ │ │ 'title': None, │ │
│ │ │ │ │ 'description': 'paieškos (užklausos) sąlygos', │ │
│ │ │ │ │ 'required': True, │ │
│ │ │ │ │ 'unique': False, │ │
│ │ │ │ │ ... +6 │ │
│ │ │ │ }, │ │
│ │ │ │ 'ssid': { │ │
│ │ │ │ │ 'id': None, │ │
│ │ │ │ │ 'type': 'string', │ │
│ │ │ │ │ 'type_args': [], │ │
│ │ │ │ │ 'level': None, │ │
│ │ │ │ │ 'access': None, │ │
│ │ │ │ │ 'uri': None, │ │
│ │ │ │ │ 'title': None, │ │
│ │ │ │ │ 'description': 'sesijos identifikatorius', │ │
│ │ │ │ │ 'required': False, │ │
│ │ │ │ │ 'unique': False, │ │
│ │ │ │ │ ... +4 │ │
│ │ │ │ }, │ │
│ │ │ │ 'text': { │ │
│ │ │ │ │ 'id': None, │ │
│ │ │ │ │ 'type': 'string', │ │
│ │ │ │ │ 'type_args': [], │ │
│ │ │ │ │ 'level': None, │ │
│ │ │ │ │ 'access': None, │ │
│ │ │ │ │ 'uri': None, │ │
│ │ │ │ │ 'title': None, │ │
│ │ │ │ │ 'description': None, │ │
│ │ │ │ │ 'required': False, │ │
│ │ │ │ │ 'unique': False, │ │
│ │ │ │ │ ... +4 │ │
│ │ │ │ }, │ │
│ │ │ │ 'trukme': { │ │
│ │ │ │ │ 'id': None, │ │
│ │ │ │ │ 'type': 'string', │ │
│ │ │ │ │ 'type_args': [], │ │
│ │ │ │ │ 'level': None, │ │
│ │ │ │ │ 'access': None, │ │
│ │ │ │ │ 'uri': None, │ │
│ │ │ │ │ 'title': None, │ │
│ │ │ │ │ 'description': 'rezultato (atsakymo) suformavimui sugaištas laikas, │ │
│ │ sek.', │ │
│ │ │ │ │ 'required': True, │ │
│ │ │ │ │ 'unique': False, │ │
│ │ │ │ │ ... +4 │ │
│ │ │ │ }, │ │
│ │ │ │ 'vartotojas': { │ │
│ │ │ │ │ 'id': None, │ │
│ │ │ │ │ 'type': 'ref', │ │
│ │ │ │ │ 'type_args': [], │ │
│ │ │ │ │ 'level': None, │ │
│ │ │ │ │ 'access': None, │ │
│ │ │ │ │ 'uri': None, │ │
│ │ │ │ │ 'title': None, │ │
│ │ │ │ │ 'description': 'vartotojo duomenys', │ │
│ │ │ │ │ 'required': True, │ │
│ │ │ │ │ 'unique': False, │ │
│ │ │ │ │ ... +6 │ │
│ │ │ │ }, │ │
│ │ │ │ 'vei_id': { │ │
│ │ │ │ │ 'id': None, │ │
│ │ │ │ │ 'type': 'string', │ │
│ │ │ │ │ 'type_args': [], │ │
│ │ │ │ │ 'level': None, │ │
│ │ │ │ │ 'access': None, │ │
│ │ │ │ │ 'uri': None, │ │
│ │ │ │ │ 'title': None, │ │
│ │ │ │ │ 'description': 'veiksmo id RC audito sistemoje', │ │
│ │ │ │ │ 'required': True, │ │
│ │ │ │ │ 'unique': False, │ │
│ │ │ │ │ ... +4 │ │
│ │ │ │ } │ │
│ │ │ }, │ │
│ │ │ 'uri': None, │ │
│ │ │ ... +3 │ │
│ │ } │ │
│ │ schemas = <generator object read_tabular_manifest at 0x74f98280b680> │ │
│ │ source = <spinta.manifests.tabular.components.XlsxManifest(name='manifest0')> │ │
│ │ to_link = [] │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/karina/work/ivpk/spinta/spinta/manifests/tabular/helpers.py:1640 in read_tabular_manifest │
│ │
│ 1637 │ else: │
│ 1638 │ │ raise ValueError(f"Unknown tabular manifest format {format_!r}.") │
│ 1639 │ │
│ ❱ 1640 │ yield from _read_tabular_manifest_rows( │
│ 1641 │ │ path, │
│ 1642 │ │ rows, │
│ 1643 │ │ rename_duplicates=rename_duplicates, │
│ │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ file = None │ │
│ │ format_ = <TabularFormat.XLSX: 'xlsx'> │ │
│ │ path = '/home/karina/work/ivpk/spinta/xsds/ntr_result/dsa_715_NTR_NTR_Pastate_… │ │
│ │ rename_duplicates = False │ │
│ │ rows = <generator object _read_xlsx_manifest at 0x74f98280b6f0> │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/karina/work/ivpk/spinta/spinta/manifests/tabular/helpers.py:1595 in │
│ _read_tabular_manifest_rows │
│ │
│ 1592 │ │ dimension = _detect_dimension(path, line, row) │
│ 1593 │ │ Reader = READERS[dimension] │
│ 1594 │ │ reader = Reader(state, path, line, allow_updates=allow_updates) │
│ ❱ 1595 │ │ reader.read(row) │
│ 1596 │ │ yield from state.release(reader) │
│ 1597 │ │
│ 1598 │ yield from state.release() │
│ │
│ ╭─────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ _ = '1' │ │
│ │ allow_updates = False │ │
│ │ defaults = { │ │
│ │ │ 'id': '', │ │
│ │ │ 'dataset': '', │ │
│ │ │ 'resource': '', │ │
│ │ │ 'base': '', │ │
│ │ │ 'model': '', │ │
│ │ │ 'property': '', │ │
│ │ │ 'type': '', │ │
│ │ │ 'ref': '', │ │
│ │ │ 'source': '', │ │
│ │ │ 'prepare': '', │ │
│ │ │ ... +5 │ │
│ │ } │ │
│ │ dimension = 'property' │ │
│ │ header = [ │ │
│ │ │ 'id', │ │
│ │ │ 'dataset', │ │
│ │ │ 'resource', │ │
│ │ │ 'base', │ │
│ │ │ 'model', │ │
│ │ │ 'property', │ │
│ │ │ 'type', │ │
│ │ │ 'ref', │ │
│ │ │ 'source', │ │
│ │ │ 'prepare', │ │
│ │ │ ... +5 │ │
│ │ ] │ │
│ │ line = 'Sheet1:71' │ │
│ │ path = '/home/karina/work/ivpk/spinta/xsds/ntr_result/dsa_715_NTR_NTR_Pastate_… │ │
│ │ reader = <spinta.manifests.tabular.helpers.PropertyReader object at │ │
│ │ 0x74f98269f580> │ │
│ │ Reader = <class 'spinta.manifests.tabular.helpers.PropertyReader'> │ │
│ │ rename_duplicates = False │ │
│ │ row = { │ │
│ │ │ 'id': None, │ │
│ │ │ 'dataset': None, │ │
│ │ │ 'resource': None, │ │
│ │ │ 'base': None, │ │
│ │ │ 'model': None, │ │
│ │ │ 'property': 'debug[].id', │ │
│ │ │ 'type': 'string', │ │
│ │ │ 'ref': None, │ │
│ │ │ 'source': '@id', │ │
│ │ │ 'prepare': None, │ │
│ │ │ ... +5 │ │
│ │ } │ │
│ │ rows = <generator object _read_xlsx_manifest at 0x74f98280b6f0> │ │
│ │ state = <spinta.manifests.tabular.helpers.State object at 0x74f98269cc10> │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/karina/work/ivpk/spinta/spinta/manifests/tabular/helpers.py:598 in read │
│ │
│ 595 │ enums: Set[str] │
│ 596 │ │
│ 597 │ def read(self, row: Dict[str, str]) -> None: │
│ ❱ 598 │ │ full_prop, parent_prop, prop_name = _get_parent_data(self, row, row['property']) │
│ 599 │ │ prop_data = _handle_datatype(self, row) │
│ 600 │ │ if prop_data: │
│ 601 │ │ │ prop_name = _combine_parent_with_prop(prop_name, prop_data, parent_prop, ful │
│ │
│ ╭───────────────────────────────────── locals ──────────────────────────────────────╮ │
│ │ row = { │ │
│ │ │ 'id': None, │ │
│ │ │ 'dataset': None, │ │
│ │ │ 'resource': None, │ │
│ │ │ 'base': None, │ │
│ │ │ 'model': None, │ │
│ │ │ 'property': 'debug[].id', │ │
│ │ │ 'type': 'string', │ │
│ │ │ 'ref': None, │ │
│ │ │ 'source': '@id', │ │
│ │ │ 'prepare': None, │ │
│ │ │ ... +5 │ │
│ │ } │ │
│ │ self = <spinta.manifests.tabular.helpers.PropertyReader object at 0x74f98269f580> │ │
│ ╰───────────────────────────────────────────────────────────────────────────────────╯ │
│ │
│ /home/karina/work/ivpk/spinta/spinta/manifests/tabular/helpers.py:1061 in _get_parent_data │
│ │
│ 1058 │ │ else: │
│ 1059 │ │ │ prop_name = _clean_up_prop_name(prop) │
│ 1060 │ │ if current_parent and (current_parent['type'] not in ALLOWED_PARTIAL_TYPES and c │
│ ❱ 1061 │ │ │ raise DataTypeCannotBeUsedForNesting(dtype=current_parent['type']) │
│ 1062 │ return full_prop, current_parent, prop_name │
│ 1063 │
│ 1064 │
│ │
│ ╭────────────────────────────────────────── locals ───────────────────────────────────────────╮ │
│ │ count = 2 │ │
│ │ current_parent = { │ │
│ │ │ 'id': None, │ │
│ │ │ 'type': 'array_backref', │ │
│ │ │ 'type_args': [], │ │
│ │ │ 'prepare': None, │ │
│ │ │ 'level': None, │ │
│ │ │ 'access': None, │ │
│ │ │ 'uri': None, │ │
│ │ │ 'title': None, │ │
│ │ │ 'description': None, │ │
│ │ │ 'required': False, │ │
│ │ │ ... +6 │ │
│ │ } │ │
│ │ full_name = ['debug[]'] │ │
│ │ full_prop = { │ │
│ │ │ 'id': None, │ │
│ │ │ 'type': 'array_backref', │ │
│ │ │ 'type_args': [], │ │
│ │ │ 'prepare': None, │ │
│ │ │ 'level': None, │ │
│ │ │ 'access': None, │ │
│ │ │ 'uri': None, │ │
│ │ │ 'title': None, │ │
│ │ │ 'description': None, │ │
│ │ │ 'required': False, │ │
│ │ │ ... +6 │ │
│ │ } │ │
│ │ given_row = { │ │
│ │ │ 'id': None, │ │
│ │ │ 'dataset': None, │ │
│ │ │ 'resource': None, │ │
│ │ │ 'base': None, │ │
│ │ │ 'model': None, │ │
│ │ │ 'property': 'debug[].id', │ │
│ │ │ 'type': 'string', │ │
│ │ │ 'ref': None, │ │
│ │ │ 'source': '@id', │ │
│ │ │ 'prepare': None, │ │
│ │ │ ... +5 │ │
│ │ } │ │
│ │ i = 0 │ │
│ │ name = 'debug[].id' │ │
│ │ prop = 'debug[]' │ │
│ │ prop_name = 'debug[].id' │ │
│ │ reader = <spinta.manifests.tabular.helpers.PropertyReader object at 0x74f98269f580> │ │
│ │ root = { │ │
│ │ │ 'id': None, │ │
│ │ │ 'type': 'array_backref', │ │
│ │ │ 'type_args': [], │ │
│ │ │ 'prepare': None, │ │
│ │ │ 'level': None, │ │
│ │ │ 'access': None, │ │
│ │ │ 'uri': None, │ │
│ │ │ 'title': None, │ │
│ │ │ 'description': None, │ │
│ │ │ 'required': False, │ │
│ │ │ ... +6 │ │
│ │ } │ │
│ │ split_props = ['debug[]', 'id'] │ │
│ ╰─────────────────────────────────────────────────────────────────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
DataTypeCannotBeUsedForNesting: Type 'array_backref' cannot be used for nesting properties.
Context:
dtype: array_backref
Pavyzdys manifesto, su kuriuo gaunama ši klaida:
Kol kas šiai užduočiai svarbu, kad veiktu DSA skaitymas/rašymas. O duomenų rašymas/skaitymas turėtu būti iškelti į atskiras užduots.
In #161 task description an incorrect examples where given for
array
type usage withref
. The correct expression should look like this (correct, fixed example):When using many-to-many relations, we must know order of references in order to correctly associate intermediate table.
Currently, following error is raised:
Related