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