diff --git a/app/sso/middleware.py b/app/sso/middleware.py index c530962..f743c3b 100644 --- a/app/sso/middleware.py +++ b/app/sso/middleware.py @@ -46,7 +46,11 @@ class IPTrackingMiddleware(object): def process_request(self, request): if request.user and not request.user.is_anonymous(): - ip, created = SSOUserIPAddress.objects.get_or_create(user=request.user, ip_address=request.META['REMOTE_ADDR']) + try: + ip, created = SSOUserIPAddress.objects.get_or_create(user=request.user, ip_address=request.META['REMOTE_ADDR']) + except IntegrityError: + ip = SSOUserIPAddress.objects.get(user=request.user, ip_address=request.META['REMOTE_ADDR']) + created = False if not created: ip.last_seen = datetime.utcnow() ip.save()