본문 바로가기

Dev/Django

Django model raw 사용시 like % 사용 방법

728x90
반응형

django에서 모델 조회시 raw 방식으로 조회시 %s 이런식으로 값을 변환해서 사용하는 문제로 인해 

만약 raw에서 아래와 같이 선언하게 되면 오류가 나게 된다.

select a,b,c
from d
where a like '%ab%'

위의 경우 like에 선언된 %에 문제가 발생하여 아래와 같은 오류 메세지를 던져준다.

django.db.utils.ProgrammingError: not enough arguments for format string

위와 같은 오류는 위에 설명했듯이 %이후에 값을 처리 해야 변수의 자료형 포멧을 넣어야 하는데.  맞지가 않아서 오류가 난다.

 

아래와 같이 사용하면 해결이 됩니다.

select a,b,c
from d
where a like '%%ab%%'

해결 방법은 %%찾는 문자열 %%로 처리하면 해결을 할 수 있다.

 

728x90
반응형