Python 345

SQLAlchemy _ add() 와 add_all() 사용법과 차이점

add()와 add_all() add()와 add_all() 은 sqlalchemy session의 메서드로서 DB에 데이터를 넣을 때 사용합니다. 메서드의 이름에서 보면 알다시피 add는 단일 insert이고 add_all 은 bulk insert입니다. 오늘은 이 둘의 사용법에 대해서 알아보겠습니다. add() 여기 3개의 이름을 DB에 넣어야 한다고 해봅시다. 3개의 데이터는 각각 첫 번째 요소가 id, 두 번째 요소가 이름입니다. names = [ [1, "변덕순"], [2, "장득현"], [3, "고문용"], ] 이를 add()로 넣는다면 다음과 같은 코드를 작성할 수 있습니다. ('Name'은 model class입니다) names = [ [1, "변덕순"], [2, "장득현"], [3, "고..

SQLAlchemy _ NotSupportedError(InvalidCachedStatementError) 에러 해결

AsyncSessionNotSupportedError, InvalidCachedStatementError 테스트 코드를 작성하는 중에 에러가 발생했다!! 에러 메시지는 다음과 같다. """ sqlalchemy.exc.NotSupportedError: (sqlalchemy.dialects.postgresql.asyncpg.InvalidCachedStatementError) : cached statement plan is invalid due to a database schema or configuration change (SQLAlchemy asyncpg dialect will now invalidate all \\ prepared caches in response to this exception) E [..

Python _ 런타임 중에 스크립트 파일 실행하기

스크립트는 보통 직접 명령어를 입력해 실행합니다. 하지만 runtime 환경에서 스크립트 파일을 실행해야할 때도 있습니다. 그런 경우에는 개발자가 직접 터미널에 스크립트 실행 명령어를 치는 것이 아닌, 미리 작성된 파이썬 코드에 의해 스크립트가 실행되도록 해야합니다. 이번 글에는 OS를 사용한 스크립트 실행 방법을 알려드리겠습니다. OS import os os.system("ls") 방법은 아주 간단합니다. os를 import 하고 system 메서드를 사용해 명령어를 안에 넣습니다. 그리고 실행을 해보면 그 결과 값도 함께 보여줍니다. (ls 는 해당 디렉토리를 보여줍니다) >>> project 현재는 project 폴더만 보이네요 하지만 스크립트를 실행하기 위해서 폴더 내로 이동해야 한다고 가정해봅시..

Pytest _ client 에서 parmas 값 넣는 방법

테스트 코드를 작성하다보면 client를 사용해 uri요청을 보낼 때가 있습니다. 그리고 쿼리 파라미터(query string)는 패스 파라미터와 마찬가지로 uri를 텍스트로 작성해 보낼 수 있습니다. uri를 만드는 방법 세 가지를 함께 보겠습니다. 방법1. 일반 텍스트 response = client.get( "http://0.0.0.0:8000/users?limit=10&offset=0" ) 하지만 텍스트로만 작성할 경우, 하나의 케이스만 테스트 할 수 있는 정적 값이 되고 맙니다. 방법2. f-string 다음처럼 f-string을 통해 동적 값을 넣어줄 수 있습니다. limit = 10 offset = 0 response = client.get( f"http://0.0.0.0:8000/users..