1 回答
TA贡献1883条经验 获得超3个赞
是的。您可以在表单中包含该字段,因此您可能应该制作一个单独的表单来更新:
class ServiceEditForm(forms.ModelForm):
service_sku = forms.IntegerField(disabled=True)
class Meta:
model = Services
fields = ('service_sku', 'name', 'price')
在表单中,您只需使用该新表单:
def EditServices(request,pk):
service = Services.objects.get(service_sku=pk)
if request.method == 'POST':
form = ServiceEditForm(request.POST, request.FILES, instance=service)
if form.is_valid():
form.save()
return redirect('/')
else:
form = ServiceEditForm(instance=service)
context = {'form':form}
return render(request, 'accounts/edit_services.html', context)
使用disabled=True
[Django-doc]不仅可以确保该字段在客户端被禁用,而且还可以防止有人发出恶意的 POST 请求。
添加回答
举报