나는 장고에서 Python Objects를 pickling하고 MySQL DB에 저장한다. 지금까지 내가 따랐다 이러한 간단한 규칙 :MySQL 데이터베이스에 Python Pickled 객체 저장
cPickle.dumps(object)
절인 된 객체에 파이썬 개체를 변환 #됐다cPickle.loads(pickled_object)
#내 장고
Model Field
절인 개체에서 파이썬 객체를 다시로드 isText Field
MySQL 데이터베이스 필드 유형은
longblob
입니다. Attrib 백인 군대가binary
MySQL의 DB 인코딩은 파이썬 객체를 다시로드하는 동안 불행하게도 나는 다음과 같은 오류를 얻고있다
utf8_unicode_ci
입니다.
Type Error: ('an integer is required', <type 'datetime.date'>, ('x07xb6x0bx06',))
이것이 인코딩 문제가 오류 값 x07xb6x0bx06
찾고 나에게 보인다. 나는 중요한 단계를 놓치니 ?? 어느 누구도이 문제를 해결할 수 있습니까 ??
당신이 피클을 사용하는 특별한 이유가 있나요? 바이너리 형식이며 파이썬에서만 사용할 수 있습니다. 선택의 여지가있는 경우 JSON을 사용하지 않는 것이 좋을까요? –
JSON은 내 용도를 서버하지 않고'json.dumps'를 사용하려고 시도하지만'some_object가 JSON 직렬화가 가능하지 않습니다. '라는 오류가 발생했습니다. 그리고 그 대상은 순수한 Pythonic입니다. –
그 객체를 직렬화 할 수 있도록 노력해야합니다. 버그를 찾으려고 할 때 DB에 인간이 읽을 수있는 내용을 저장하는 것은 큰 도움이됩니다. –