[Async-SQLModel] SQLModel서 비동기 프로그래밍시 발생하는 문제의 대안
·
프로그래밍/파이썬
## SQLModel서 발생하는 비동기 이슈: MissingGreenlet 파이썬 비동기 프로그램을 작성할때 SQLAlchemy 혹은 SQLModel를 사용하다보면 MissingGreenlet을 자주 접하게 된다. Model 객체의 필드를 접근할때 데이터베이스에서 값을 갱신해야 하는 경우가 있다. 이 작업은 기본적으로 암시적인 IO를 발생시키는데, 비동기 프로그램 안에서는 이때 MissingGreenlet에러를 터뜨린다. 아래 두개의 예제에서 자세한 경우를 설명하겠다. 첫번째 경우는 만료(expired)된 필드를 가져올때 값을 갱신하는 상황이다. from typing import Optional from sqlmodel import Field, SQLModel from sqlmodel.ext.asynci..
#16 Fastapi-users의 OAuth2 사용시 생기는 MissingGreenlet 오류
·
프로그래밍/스팀 게임 퀴즈
fastapi-users는 기본 매뉴얼이 비동기로 되어있어 비동기로 보통 작성하곤 한다. 그러면 sqlalchemy의 MissingGreenlet 오류를 자주 만날 수 있게 된다. MissingGreenlet 오류는 sqlalchemy에서 아래와 같이 설명된다. A call to the async DBAPI was initiated outside the greenlet spawn context usually setup by the SQLAlchemy AsyncIO proxy classes. Usually this error happens when an IO was attempted in an unexpected place, using a calling pattern that does not directl..
2jun0
'sqlalchemy' 태그의 글 목록