diff --git a/basetheme_bootstrap/user_preferences.py b/basetheme_bootstrap/user_preferences.py index 3d411dcc3addad3b9518545eda5c29f36263301c..915e70706dfce16e0c97ce3e794d2cb1c8a255ef 100644 --- a/basetheme_bootstrap/user_preferences.py +++ b/basetheme_bootstrap/user_preferences.py @@ -55,10 +55,19 @@ class UserPreferencesAbstractModel(models.Model): def get_for_user(cls, user): try: pref = cls.objects.get(user=user) + except cls.MultipleObjectsReturned: + for p in cls.objects.filter(user=None)[1:]: + p.delete() + pref = cls.objects.get(user=user) except TypeError: return cls.get_for_user(None) except cls.DoesNotExist: - pref, _ = cls.objects.get_or_create(user=None) + try: + pref, _ = cls.objects.get_or_create(user=None) + except cls.MultipleObjectsReturned: + for p in cls.objects.filter(user=None)[1:]: + p.delete() + pref, _ = cls.objects.get(user=None) if user is not None: pref.pk = None pref.id = None diff --git a/setup.py b/setup.py index a430b6c6262e6addf677899d9a6aa63f28b8f402..619dd46c6ee894965222ea45c34de1999f64780d 100644 --- a/setup.py +++ b/setup.py @@ -7,7 +7,7 @@ readme = open('README.rst').read() setup( name='django-basetheme-bootstrap', - version='0.2.26', + version='0.2.27', description='Django Basetheme Bootstrap', long_description=readme, author='Bryan Brancotte',