You can achieve all that with JSON support in SQL, which most RDBMS have. You can then de-serialize JSON rows into Python objects. No need for an ORM.