我有一個「農場」模型和相應的ModelForm如下:的Django的ModelForm更新某些領域
class FarmForm(ModelForm):
class Meta:
model = Farm
fields = ['farm_name','address','farm_size', 'latitude', 'longitude']
我可以節省通過我的客戶端應用程序新農場對象(它要求我填寫在我的ModelForm中提到的所有領域)。
我想有另一種觀點認爲在那裏我可以更新現有農場,用戶可以或許插入/更新只有他/她想要改變的字段。我想是這樣僅通過郵路的字段值之一以下,但它給了我Form_not_valid錯誤:
@api_view(['POST'])
def updateFarm(request, farmId):
farm = Farm.objects.get(id=farmId)
form = FarmForm(instance=farm, data=request.POST)
if form.is_valid():
farm = form.save()
farm = Farm.objects.filter(id=farm.id)
serializer = FarmSerializer(farm, many=True)
return JSONResponse(serializer.data)
#return Response("Data saved")
else:
return Response("Form not valid, insert correct fields.")
如何建立我的觀點,讓我們的用戶更新只有那些他認爲字段相關?我的網址:url(r'^farms/update/(?P<farmId>\d\d)/$', views.updateFarm),
您想調用form is_valid,但您的表單將如何知道用戶想要更改哪些字段並僅驗證這些字段? – fips