Hello everyone,
I am experiencing an issue where passing the form.cleaned_data
fields to a service function does not update the model object’s fields. Take this snippet from my code as an example:
def customer_package_edit(request, package_id, *args, **kwargs):
current_user = request.user
package = consignee_package_get(package_id=package_id, consignee=current_user.consignee)
if request.method == "POST":
form = CustomerPackageUpdateForm(data=request.POST, instance=package)
if form.is_valid():
package_update(
package=package,
data={
"description": form.data.get("description"),
"shipper": form.data.get("shipper"),
"merchant": form.data.get("merchant"),
},
)
return HttpResponse(
status=204,
headers={
"HX-Trigger": "package_list_changed",
},
)
else:
return TemplateResponse(
request,
"shipments/packages/customer/package_update_form.html",
context={
"form": form,
"package": package,
},
)
else:
form = CustomerPackageUpdateForm(instance=package)
return TemplateResponse(
request,
"shipments/packages/customer/package_update_form.html",
context={
"form": form,
"package": package,
},
)
So I have this package_update
function that accepts the package object and a dict of the changes to be made. However, this doesn’t actually update the object.
What am i missing?