Tôi đang làm việc trên một ứng dụng nằm trong số Django
. Tôi đang cố gắng lưu trữ một số cấu trúc dữ liệu e.g. dictionary
trong MySQL
db. Vì vậy, tôi sử dụng mô-đun Python Pickle
. Nó hoạt động tốt khi tôi lưu trữ nó trong db sử dụng pickle.dumps(some_structure)
. Trường DB của tôi là chế độ longblob
là binary
.Bỏ chọn khóa tải không hợp lệ, '{'
Nhưng khi tôi truy cập vào các lĩnh vực của đối tượng mô hình trong django:
obj = someModel.get(pk=1)
some_structure = obj.field
content = pickle.loads(some_structure)
nó làm tăng lỗi sau:
UnpicklingError: invalid load key, '{'.
Xin hãy giúp tôi, tôi đã cố gắng google nhưng nó Does'nt giúp tôi , cũng có một số Question tương tự nhưng nó không liên quan đến vấn đề của tôi khi tôi lưu trữ trong db.
Tôi khuyên bạn nên tẩy dữ liệu để lưu trữ dữ liệu trong cơ sở dữ liệu không phải là cách chính xác để thực hiện việc này. Bạn nên lưu trữ dữ liệu của bạn trong cơ sở dữ liệu một cách chính xác, chuyển đổi dữ liệu của bạn thành các bảng và các trường. –
Dữ liệu nằm trong 'hệ thống phân cấp phức tạp (từ điển lồng nhau) '. Tôi không thể lưu nó dưới dạng các bảng và các trường. Dữ liệu là kết quả của một số quy trình mà sau này tôi cần xử lý trong django trên một 'Chế độ xem' khác. –
Sau đó, JSON có lẽ là một định dạng tốt hơn so với dưa chuột. JSON là nền tảng chéo, trong khi dưa được thực hiện cụ thể. –