[Answered ]-Django forms overwrite data when saved

2👍

✅

Django’s save() should handle this for you automatically.

To give an example, you’ll usually submit a form in a way something like this:

...
        form = UserCVForm(request.POST, instance=user_cv)
        if form.is_valid():
            form.save()
...

‘instance=user_cv’ tells django that you want to update an existing entry – specifically ‘user_cv’. Without ‘instance=user_cv’, Django will insert a new entry into the database.

So in short, see if a user_cv exists already with something like user_cv = UserCV.objects.get(user=user_id). If a user_cv exists, be sure to whack an instance=user_cv in when populating the form.

Leave a comment