Tôi đang viết ứng dụng đầu tiên của mình ở Django và tôi gặp sự cố với Chế độ xem Chung create_object
; Trong tôi urls.py
, tôi có:Mở rộng Chế độ xem Chung của Django
(r'^new$', CreateView.as_view()),
Vấn đề là khi người dùng gửi các hình thức "mới", tôi cần phải thao tác các dữ liệu sẽ được lưu vào cơ sở dữ liệu (tôi thực sự cần phải thêm user_id
nước ngoài Chìa khóa); mà không có chế độ xem chung tôi đã sử dụng để viết:
form = ClientForm(request.POST)
if form.is_valid():
data = form.save(commit=False)
data.user = request.user
data.save()
form.save_m2m()
theo quan điểm của tôi (thông báo data.user=request.user
). Tôi đã tìm kiếm tài liệu Django nhưng tôi không thể tìm thấy cách để làm điều này (có thể bằng cách mở rộng lớp CreateView
) - somewere trong Sách chỉ có một ví dụ ghi đè phương thức get_object
của lớp ListView
để cập nhật trường last_accessed_date
.
Dưới đây là "Thực hiện thêm công việc", nơi họ giải thích phương thức get_object có thể được ghi đè bằng cách mở rộng lớp [link] (https://docs.djangoproject.com/en/dev/topics/class-based-views/#performing-extra-work) –