From 64890ad30431d4f1fd0a15e2dfa3f348c6cd80c1 Mon Sep 17 00:00:00 2001 From: SavingFrame Date: Mon, 14 Oct 2024 21:00:14 +0200 Subject: [PATCH] fix username/password authentication database.authenticate() was removed in PyMongo 4. --- django_mongodb/base.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/django_mongodb/base.py b/django_mongodb/base.py index 180ef87cb..caa1f63a8 100644 --- a/django_mongodb/base.py +++ b/django_mongodb/base.py @@ -1,4 +1,3 @@ -from django.core.exceptions import ImproperlyConfigured from django.db.backends.base.base import BaseDatabaseWrapper from django.db.backends.signals import connection_created from pymongo.collection import Collection @@ -161,17 +160,14 @@ def _connect(self): self.connection = MongoClient( host=settings_dict["HOST"] or None, port=int(settings_dict["PORT"] or 27017), + username=settings_dict.get("USER"), + password=settings_dict.get("PASSWORD"), **settings_dict["OPTIONS"], ) db_name = settings_dict["NAME"] if db_name: self.database = self.connection[db_name] - user = settings_dict["USER"] - password = settings_dict["PASSWORD"] - if user and password and not self.database.authenticate(user, password): - raise ImproperlyConfigured("Invalid username or password.") - self.connected = True connection_created.send(sender=self.__class__, connection=self)