PYTHON

sqlalchemy update 이슈

              2016. 8. 19. 18:01

query.update() does not resolve string names into expressions against the mapped class


https://bitbucket.org/zzzeek/sqlalchemy/issues/3228/queryupdate-does-not-resolve-string-names


이상하게 sqlalchemy -> session에서 update가 이상할 정도로 잘 안 먹히길래 봤더니 해당 이슈가 있었다.

보통 dict 타입으로 입력할때에는 따로 dict 변수를 만들어서 입력을 하는데 일부 버전에서는 이게 안 먹힌다고 한다.


(참고로 sqlalchemy 9버전을 쓰고 있는데 해당 이슈가 적용되었다.)


해결책은 간단한데 


sess.query(Test).update({Test.code2: 'foo'})


이렇게 직접 dic 타입으로 입력하면 잘된다.

자세한 것은 링크참조