Tôi đang viết một ứng dụng Django thực hiện các chức năng khác nhau, bao gồm chèn hoặc cập nhật các bản ghi mới vào cơ sở dữ liệu thông qua URL.Làm cách nào để cập nhật thành viên của đối tượng bằng cách sử dụng dict?
Vì vậy, một số ứng dụng nội bộ sẽ gửi yêu cầu tới /import/?a=1&b=2&c=3
, chẳng hạn. Trong giao diện, tôi muốn tạo một đối tượng mới, foo = Foo()
và để các thành viên của foo
được đặt thành dữ liệu trong từ điển request.GET.
Đây là những gì tôi đang làm bây giờ:
- Yêu cầu gửi đến
/import/?a=1&b=2&c=3
- Xem tạo ra đối tượng mới:
foo = Foo()
- Object được cập nhật với dữ liệu.
Dưới đây là những gì tôi đã vậy, đến nay:
foo.a = request['a']
foo.b = request['b']
foo.c = request['c']
Rõ ràng đây là tẻ nhạt và dễ bị lỗi. Dữ liệu trong URL có cùng tên chính xác với các thành viên của đối tượng, vì vậy nó là một ánh xạ 1-tới-1 đơn giản.
Lý tưởng nhất, tôi muốn làm có thể làm một cái gì đó như thế này:
foo = Foo()
foo.update(request.GET)
hoặc một cái gì đó về việc đó.
Cảm ơn! thuộc tính
Các giải pháp được trình bày bởi Ants làm những gì bạn muốn nhưng làm thế nào bạn xử lý xác nhận và loại chuyển đổi? Hoặc không phải là mối quan tâm (tôi thấy điều này khó tin). –
Họ không quan tâm. Điều này đang được sử dụng hoàn toàn trong nhà, nơi dữ liệu được chèn vào một cơ sở dữ liệu (có xác thực) và sau đó (ở đây) được chèn vào một cơ sở dữ liệu khác. –