Code

Ticket #7584: django-default-profile.patch

File django-default-profile.patch, 993 bytes (added by David Danier <goliath.mailinglist@…>, 6 years ago)
  • trunk/django/contrib/auth/models.py

     
    305305            try: 
    306306                app_label, model_name = settings.AUTH_PROFILE_MODULE.split('.') 
    307307                model = models.get_model(app_label, model_name) 
    308                 self._profile_cache = model._default_manager.get(user__id__exact=self.id) 
     308                try: 
     309                    self._profile_cache = model._default_manager.get(user__id__exact=self.id) 
     310                except model.DoesNotExist: 
     311                    if hasattr(model._default_manager, 'create_default_profile'): 
     312                        return model._default_manager.create_default_profile(self) 
     313                    raise 
    309314            except (ImportError, ImproperlyConfigured): 
    310315                raise SiteProfileNotAvailable 
    311316        return self._profile_cache