0
我有多個重複表單(模型表單),用於生成用於創建設備的佈局,併爲每個表單添加了前綴。 (不能用其他原因表單集)Django表單此字段在請求後是必需的錯誤。POST
形式:
class CreateModbusForm(ModelForm):
class Meta:
model = ModbusDevice
fields = ['ixModbusDevice', 'sModbusName','iPort', 'iSlave', 'sIP']
widgets = {
'sModbusName': TextInput(attrs={'placeholder': 'Device Name','class': 'form-control','data-form': '0',}),
'iPort': TextInput(attrs={'placeholder': 'Port','class': 'form-control','data-form': '0',}),
'iSlave': TextInput(attrs={'placeholder': 'Slave id','class': 'form-control','data-form': '0',}),
'sIP': TextInput(attrs={'placeholder': 'Modbus IP address','class': 'form-control','data-form': '0',})
}
view:
modbus_qset = ModbusDevice.objects.all()
if modbus_qset:
for device in modbus_qset:
modbus_form = CreateModbusForm(instance=device, prefix="modbus-id_" + str(device.pk))
我遇到問題是,當我發佈數據回更新(阿賈克斯後),我窗體始終有This field is required
錯誤。
if request.method == 'POST':
my_dic = dict(urlparse.parse_qsl(request.POST['form']))
modbus_device = CreateModbusForm(my_dic, prefix='modbus-id_2')#hard coded for testing
不要緊,我做我的形式,將無法通過is_valid()
因爲這個錯誤,但我不知道它爲什麼給我這個,如果我傳遞後數據
(我不得不將我request.POST['form']
,因爲它是序列化從Ajax調用JSON和結束是unicode的,而不是一個的QueryDict的)