Trong ModelForm, self.instance bắt nguồn từ thuộc tính model
được chỉ định trong lớp Meta. self
trong ngữ cảnh này rõ ràng là một thể hiện của lớp con của ModelForm và self.instance (và sẽ lưu biểu mẫu không có lỗi) một thể hiện của lớp mô hình mà bạn đã chỉ định, mặc dù bạn không làm như vậy trong ví dụ của mình.
Truy cập tự phục hồi trong __init__
có thể không hoạt động, mặc dù làm như vậy sau khi gọi số __init__
của phụ huynh có thể sẽ xảy ra. Hơn nữa, tôi sẽ không khuyên bạn nên thay đổi trực tiếp cá thể. Nếu bạn quan tâm, hãy xem mã BaseModelForm trên Github. Bạn cũng có thể chỉ định instance
khi tạo biểu mẫu mới qua đối số instance
.
Đây không phải là điều Python chung. Đây là một cái gì đó được định nghĩa đặc biệt bởi 'ModelForm', trong superclass' __init__'. –
Cảm ơn, tôi đã sửa đổi tiêu đề câu hỏi. – jazzblue