Skip to content
Snippets Groups Projects
Verified Commit 67de32cc authored by Eliot Berriot's avatar Eliot Berriot
Browse files

Removed 2 DB queries per request when user is authenticated

parent 49e1bec7
No related branches found
No related tags found
No related merge requests found
......@@ -327,7 +327,7 @@ SECURE_PROXY_SSL_HEADER = ("HTTP_X_FORWARDED_PROTO", "https")
# AUTHENTICATION CONFIGURATION
# ------------------------------------------------------------------------------
AUTHENTICATION_BACKENDS = (
"django.contrib.auth.backends.ModelBackend",
"funkwhale_api.users.auth_backends.ModelBackend",
"allauth.account.auth_backends.AuthenticationBackend",
)
SESSION_COOKIE_HTTPONLY = False
......
from django.contrib.auth import backends, get_user_model
class ModelBackend(backends.ModelBackend):
def get_user(self, user_id):
"""
Select related to avoid two additional queries
"""
try:
user = (
get_user_model()
._default_manager.select_related("actor__domain")
.get(pk=user_id)
)
except get_user_model().DoesNotExist:
return None
return user if self.user_can_authenticate(user) else None
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment