2 回答

TA贡献1803条经验 获得超6个赞
devices_form.company 没有做任何有用的事情。
如果您想手动设置一个值,您应该将其从表单字段中完全排除,并在保存时进行设置。
class AddNetworkDevice(forms.ModelForm):
...
class Meta:
model = NetworkDevices
exclude = ('company',)
...
if 'dodajnapravo' in request.POST:
devices_form = AddNetworkDevice(request.POST)
if devices_form.is_valid():
device = devices_form.save(commit=False)
device.company_id = pk
device.save()
return redirect(network_devices)

TA贡献1963条经验 获得超6个赞
我在上面的评论中指定了,您有 3 个字段 onforms.py和 4 个字段,models.py并且您指定了 allfields用于 上的字段forms.py。
中的变化forms.py。
class AddNetworkDevice(forms.ModelForm):
vendor = forms.CharField(required=True, label='Proizvajalec', max_length=100)
product = forms.CharField(required=True, label='Produkt', max_length=100)
version = forms.CharField(required=False, label='Verzija', max_length=50)
class Meta:
model = NetworkDevices
fields = ('vendor', 'product', 'version') # here is your problem
您还可以exclude = ('fields')根据@Daniel Roseman 的回答排除字段。
添加回答
举报