@@ -514,12 +514,14 @@ def _update_extended_profile_if_needed(
514514 - Associate the model instance with the user if it's a new instance
515515 - Log any errors that occur during the save process
516516 """
517- if "extended_profile" in data :
517+ updated_fields = []
518+ new_extended_profile_fields = data .get ("extended_profile" )
519+ if new_extended_profile_fields :
518520 meta = user_profile .get_meta ()
519- new_extended_profile = data ["extended_profile" ]
520- for field in new_extended_profile :
521+ for field in new_extended_profile_fields :
521522 field_name = field ["field_name" ]
522523 new_value = field ["field_value" ]
524+ updated_fields .append (field_name )
523525 meta [field_name ] = new_value
524526 user_profile .set_meta (meta )
525527 user_profile .save ()
@@ -529,7 +531,9 @@ def _update_extended_profile_if_needed(
529531 extended_profile_model = extended_profile_form .save (commit = False )
530532 if not hasattr (extended_profile_model , "user" ) or extended_profile_model .user is None :
531533 extended_profile_model .user = user_profile .user
532- extended_profile_model .save ()
534+ extended_profile_model .save ()
535+ else :
536+ extended_profile_model .save (update_fields = updated_fields )
533537 except Exception as e : # pylint: disable=broad-exception-caught
534538 logger .error ("Error saving extended profile model: %s" , e )
535539
0 commit comments