diff --git a/django/models/auth.py b/django/models/auth.py
index 6bd234d975..29149bce3f 100644
--- a/django/models/auth.py
+++ b/django/models/auth.py
@@ -1,5 +1,5 @@
 from django.core import validators
-from django.db import models
+from django.db import backend, connection, models
 from django.models import core
 from django.utils.translation import gettext_lazy as _
 import datetime
@@ -130,7 +130,7 @@ class User(models.Model):
         "Returns a list of permission strings that this user has through his/her groups."
         if not hasattr(self, '_group_perm_cache'):
             import sets
-            cursor = db.cursor()
+            cursor = connection.cursor()
             # The SQL below works out to the following, after DB quoting:
             # cursor.execute("""
             #     SELECT p.package, p.codename
@@ -144,11 +144,11 @@ class User(models.Model):
                 WHERE p.%s = gp.%s
                     AND gp.%s = ug.%s
                     AND ug.%s = %%s""" % (
-                db.quote_name('package'), db.quote_name('codename'),
-                db.quote_name('auth_permissions'), db.quote_name('auth_groups_permissions'),
-                db.quote_name('auth_users_groups'), db.quote_name('id'),
-                db.quote_name('permission_id'), db.quote_name('group_id'),
-                db.quote_name('group_id'), db.quote_name('user_id'))
+                backend.quote_name('package'), backend.quote_name('codename'),
+                backend.quote_name('auth_permissions'), backend.quote_name('auth_groups_permissions'),
+                backend.quote_name('auth_users_groups'), backend.quote_name('id'),
+                backend.quote_name('permission_id'), backend.quote_name('group_id'),
+                backend.quote_name('group_id'), backend.quote_name('user_id'))
             cursor.execute(sql, [self.id])
             self._group_perm_cache = sets.Set(["%s.%s" % (row[0], row[1]) for row in cursor.fetchall()])
         return self._group_perm_cache