2012-07-14 34 views
7

Cách tốt nhất trong django để cập nhật một cá thể mô hình được đưa ra một biểu diễn json của cá thể mô hình đó là gì.Chuyển đổi JSON sang mô hình thể hiện trong Django

Có sử dụng deserialize phương pháp tiếp cận chính xác không? Có hướng dẫn có sẵn không?

+0

Bạn đã nhìn [trang này trên tuần tự hóa các mô hình trong Django] (https://docs.djangoproject.com/en/dev/topics/serialization/)? –

+0

Có - nhưng tôi đang gặp khó khăn với nó. đối tượng json Tôi đang đi đến máy chủ không có tất cả các dữ liệu trong mô hình chỉ là một phần của nó (bao gồm cả pk của khóa học). Và tôi muốn cập nhật mô hình dựa trên mã đó. –

Trả lời

11

Cách tiếp cận tốt nhất là sử dụng một trong số existing Django applications hỗ trợ việc sao chép các phiên bản mô hình đến và từ JSON.

Trong cả hai trường hợp, nếu bạn phân tích đối tượng JSON thành từ điển Python, về cơ bản bạn có thể sử dụng phương thức QuerySet.update() trực tiếp.

Vì vậy, nói rằng bạn có được một cuốn từ điển mà tất cả các phím lập bản đồ để mô hình hóa các thuộc tính và họ đại diện cho các giá trị bạn muốn cập nhật, bạn có thể làm điều này:

updates = {         # Our parsed JSON data 
    'pk': 1337, 
    'foo': 'bar', 
    'baz': 192.05 
} 

id = updates.pop('pk')       # Extract the instance's ID 
Foo.objects.filter(id=id).update(**updates) # Update the instance's data 
Các vấn đề liên quan