docs: def get_initial(self, *args, **kwargs):
          """
          Gathers initial form values from user and profile objects
          suitable for using as form's initial data.
          """
          initial = {}
          for field in self.fields:
              value = None
              if hasattr(self.user, field):
                  value = getattr(self.user, field)
              if hasattr(self.profile, field):
                  value = getattr(self.profile, field)
              if value:
                  initial.update({
                      field: value
                  })
  
          if hasattr(self.profile, 'dob'):
              dob = self.profile.dob
              if dob:
                  if 'dob_day' in self.fields:
                      initial.update({
                          'dob_day': dob.day
                      })
                  if 'dob_month' in self.fields:
                      initial.update({
                          'dob_month': dob.month
                      })
                  if 'dob_year' in self.fields:
                      initial.update({
                          'dob_year': dob.year
                      })
  
          return initial