SQLAlchemy Column to Row Transformation и наоборот - возможно ли это?
Я ищу только решение SQLAlchemy для преобразования dict, полученного при отправке формы, в серию строк в базе данных, по одной для каждого отправленного поля. Это для обработки предпочтений и настроек, которые сильно различаются в разных приложениях. Но это'очень вероятно, применимо к созданию сводной таблицы, как функциональность. Я'Я видел подобные вещи в инструментах ETL, но я искал способ сделать это непосредственно в ORM. Я не могне могу найти какую-либо документацию, но, может быть, я что-то упустил.
Пример:
Отправлено из формы: {"Уникальный идентификатор": 1, "а": 23, "b": "Привет":"Мир"}
Я хотел бы, чтобы это было преобразовано (в ORM) так, чтобы это было зарегистрировано в базе данных как это:
_______________________________________
|UniqueId| ItemName | ItemValue |
---------------------------------------
| 1 | a | 23 |
---------------------------------------
| 1 | b | Hello |
---------------------------------------
| 1 | c | World |
---------------------------------------
После выбора результат будет преобразован (в ORM) обратно в строку данных от каждого из отдельных значений.
---------------------------------------------------
| UniqueId | a | b | c |
---------------------------------------------------
| 1 | 23 | Hello | World |
---------------------------------------------------
В обновлении я бы предположил, что лучшим способом было бы обернуть удаление / создание в транзакции, чтобы текущие записи были удалены, а новые вставлены.
Окончательный список ItemNames будет храниться в отдельной таблице.
Полностью открыт для более изящных решений, но хотел бы держаться подальше от базы данных, если это вообще возможно.
м, используя декларативный подход с SQLAlchemy.
Заранее спасибо...
Ура,
Павел