SQLAlchemy Core

Other topics

Converting result to dict

In SQLAlchemy core, the result is RowProxy. In cases where you want an explicit dictionary, you can call dict(row).

First the setup for the example:

import datetime as dt
from sqlalchemy import (
    Column, Date, Integer, MetaData, Table, Text, create_engine, select)

metadata = MetaData()
users = Table(
    'users', metadata,
    Column('id', Integer, primary_key=True),
    Column('name', Text, nullable=False),
    Column('birthday', Date),
)

engine = create_engine('sqlite://')
metadata.create_all(bind=engine)

engine.execute(users.insert(), name='Alice', birthday=dt.date(1990, 1, 1))

Then to create a dictionary from a result row:

with engine.connect() as conn:
    result = conn.execute(users.select())
    for row in result:
        print(dict(row))

    result = conn.execute(select([users.c.name, users.c.birthday]))
    for row in result:
        print(dict(row))

Contributors

Topic Id: 2022

Example Ids: 6618

This site is not affiliated with any of the contributors.