Как создать экземпляр модели с использованием необработанного SQL в асинхронной SQLAlchemy?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как создать экземпляр модели с использованием необработанного SQL в асинхронной SQLAlchemy?

Сообщение Anonymous »

У меня есть код asyncio sqlalchemy:
import asyncio
from sqlalchemy.orm import sessionmaker, declarative_base
from sqlalchemy import text, Column, Integer, String
from sqlalchemy.ext.asyncio import create_async_engine, AsyncSession

async_engine = create_async_engine(f'mysql+aiomysql://root:[email protected]:3306/spy-bot')
AsyncSession = sessionmaker(async_engine, class_=AsyncSession, expire_on_commit=False)

Base = declarative_base()
class User(Base):
__tablename__ = 'users'
id = Column(Integer, primary_key=True)
username = Column(String(255))

async def main():
async with AsyncSession() as session:
stmt = text('SELECT * FROM `users` LIMIT 1')
result = await session.execute(stmt)
user = result.one()
print(type(user), user)

asyncio.run(main())

как мне сделать экземпляры возврата запроса сеанса в классе User, продолжая использовать необработанный SQL?
В версии синхронизации это будет выглядеть так:
result = session.query(User).from_statement(text(query))


Подробнее здесь: https://stackoverflow.com/questions/755 ... sqlalchemy
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»