Tôi đang cố gắng để prepopulate dữ liệu trong hình thức django của tôi dựa trên một số thông tin, nhưng không sử dụng ModelForm, vì vậy tôi không thể chỉ cần thiết lập dụ.Prepopulate Django (không Model) Form
Điều này có vẻ như nó thực sự dễ dàng, nhưng vì lý do nào đó tôi không thể tìm thấy bất kỳ tài liệu nào cho tôi biết cách thực hiện điều này. Đây là hình thức của tôi:
class MyForm(forms.Form):
charfield1 = forms.CharField(max_length=3)
charfield2 = forms.CharField(max_length=3)
choicefield = forms.ModelChoiceField(MyModel.objects.all())
Tôi đã cố gắng chỉ thực hiện:
form = MyForm()
form.charfield1 = "foo"
form.charfield2 = "bar"
# a model choice field
form.choicefield = MyModel.objects.get(id=3)
mà không hoạt động.
cảm ơn - làm việc này. Tuy nhiên, nó không hoạt động với khóa ngoài cho một mô hình. Tôi đã cố gắng vượt qua trong trường hợp mô hình chính nó trong từ điển, mà ném một ngoại lệ, và tôi đã cố gắng đi qua trong pk/id, mà không thất bại, nhưng không tải trước nó một cách chính xác trong giao diện người dùng mẫu của tôi. – Cory
Sử dụng id đối tượng sẽ hoạt động. Tôi vừa thử nghiệm nó với một ModelChoiceField. Bạn có thể vui lòng cho chúng tôi biết định nghĩa biểu mẫu của bạn không? –
đã thêm định nghĩa biểu mẫu trong bản chỉnh sửa. – Cory