1

Дорогое сообщество,

Необходим совет, как создать вложенный словарь, к которому можно доступиться через sqlalchemy.relationship.

  1. Таблица: Parent
Column Description
id primary_key
parent_id ForeignKey("**Child.parent_id")
  1. Таблица: Child
Column Description
id primary_key
parent_id primary_key, nullable=True
key primary_key
value some random value

Данные в таблицах создаются отдельно друг от друга. На текущий момент связь выглядит следующим образом:

children = relationship(
               "Child",
               primaryjoin="Parent.parent_id == Child.extension_data_id",
                            collection_class=attribute_mapped_collection('extension_data_id'))

А хотелось бы вот так, но attribute_mapped_collection этого не предусматривает:(см.параметры attribute_mapped_collection, 2 параметра)

children = relationship(
               "Child",
               primaryjoin="Parent.parent_id == Child.extension_data_id",
                            collection_class=attribute_mapped_collection('extension_data_id, key'))

Как результат, я хочу получать через Parent.children = { parent_id: {key : {}, key: {}} ...}

Сейчас же я получаю: Parent.children = { parent_id: {key: value}...}

То есть мне нужна двух-уровневая вложенность.

Пишу сюда второй раз, не стреляйте - спрашивайте, дополню. Пианист играет как умеет.

0 Answers0