Skip to end of metadata

Go to start of metadata

 

내용

python isinstance를 통해서 Decimal 클래스를 확인하지 못하는 현상 확인

if isinstance(obj, decimal.Decimal):
    return obj

 

원인

  • decimal.Decimal 클래스가 Google App Engine SDK 내부 어딘가에서 패치된 것(또는 모듈을 다시 로드)으로 추즉 됨(stackoverflow 내용)
    • 이 현상은  MySQL conversions 라이브러리가 decimal을 import 할 때와 사용자가 같은 것을 import 하는 사이에 발생 됨
    • 자세한 내용 추가 확인 필요
    • 관련 내용 바로가기

 

조치

  •  MySQL conversions 테이블을 업데이트
    • 조치에 대한 내용 확인 필요

 

from MySQLdb.constants import FIELD_TYPE
from MySQLdb.converters import conversions
import decimal
 
 
conversions[FIELD_TYPE.DECIMAL] = conversions[FIELD_TYPE.NEWDECIMAL] = decimal.Decimal
  
if isinstance(o, conversions[FIELD_TYPE.DECIMAL]):
    return str(o)


'개발 > Python' 카테고리의 다른 글

다국어 설정(Django)  (0) 2019.05.10
Apache/mod_wsgi 파이프 깨짐 현상  (0) 2019.03.27
pymssql transaction없이 실행  (0) 2019.03.05
Flask + Beaker 사용 시 "MySQL server has gone away"  (0) 2019.03.05
pip 설치시 SSL 에러  (0) 2018.09.10

+ Recent posts