Tôi đang chọn đối tượng Python trong Django và lưu nó trong MySQL db. Cho đến nay tôi đã đi theo những quy tắc đơn giản:Tiết kiệm Python Đối tượng được chọn trong MySQL db
cPickle.dumps(object)
#to chuyển đổi đối tượng python để đối tượng ngâmcPickle.loads(pickled_object)
# để nạp lại các đối tượng python từ đối tượng ngâmMy Django
Model Field
làText Field
Trường db MySQL Loại là
longblob
Attrib Utesbinary
MySQL mã hóa db là
utf8_unicode_ci
Đáng tiếc là tôi đang nhận được lỗi sau khi tải lại đối tượng python.
Type Error: ('an integer is required', <type 'datetime.date'>, ('x07xb6x0bx06',))
Dường như với tôi bằng cách xem giá trị lỗi x07xb6x0bx06
đây là sự cố mã hóa. Tôi đã bỏ lỡ một số bước quan trọng? Bất kỳ ai có thể giúp tôi để giải quyết vấn đề này?
Bạn có một lý do cụ thể để sử dụng dưa? Đó là một định dạng nhị phân và chỉ có thể sử dụng được bằng python. Nếu bạn có lựa chọn, liệu JSON có phải là một lựa chọn tốt hơn không? –
JSON không phục vụ mục đích của tôi, tôi cố gắng sử dụng 'json.dumps' nhưng có lỗi này' some_object không phải là JSON serializable'. Và đối tượng là tinh khiết Pythonic. –
Bạn cũng nên cố gắng làm cho đối tượng đó nối tiếp được. Đó là trợ giúp * lớn * để có nội dung có thể đọc được của con người trong db của bạn khi bạn đang cố tìm lỗi. –