Skip to content

Commit

Permalink
Fixing database exceptions
Browse files Browse the repository at this point in the history
All Django database backends capture the adapter exceptions an re-raise
them as django.db.utils exceptions, so it's safe and agnostic to just
capture these.
  • Loading branch information
vibragiel committed Sep 20, 2012
1 parent 1cd2148 commit 7e08a66
Showing 1 changed file with 2 additions and 7 deletions.
9 changes: 2 additions & 7 deletions taggit/models.py
Expand Up @@ -5,12 +5,7 @@
from django.db.models.query import QuerySet
from django.template.defaultfilters import slugify as default_slugify
from django.utils.translation import ugettext_lazy as _, ugettext
try:
from psycopg2 import InternalError
DBError = InternalError
except ImportError:
from django.db import IntegrityError
DBError = IntegrityError
from django.db import utils


class TagBase(models.Model):
Expand Down Expand Up @@ -45,7 +40,7 @@ def save(self, *args, **kwargs):
res = super(TagBase, self).save(*args, **kwargs)
transaction.savepoint_commit(sid, **trans_kwargs)
return res
except DBError:
except (utils.IntegrityError, utils.DatabaseError):
transaction.savepoint_rollback(sid, **trans_kwargs)
self.slug = self.slugify(self.name, i)
else:
Expand Down

0 comments on commit 7e08a66

Please sign in to comment.