Estoy usando la siguiente conexión sqlite en mi archivo myapp/settings.py:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': ':testdb:', #I also tried 'NAME': 'testdb', }, }en mi archivo manage.py estoy usando:
if __name__ == "__main__": os.environ.setdefault("myapp.settings") from django.core.management import execute_from_command_line execute_from_command_line(sys.argv)Al ejecutar ./manage.py migrate en la línea de comando, aparece el siguiente error:
django.db.utils.OperationalError: fe_sendauth: no password suppliedIntenté eliminar psycopg2 y volví a ejecutar la migración y obtuve el siguiente error:
django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named 'psycopg2'No puedo entender por qué django intenta conectarse a una base de datos psql donde la única configuración de DATABSES en la aplicación es para sqlite3.
¿Puede deberse a una dependencia?
Prueba esto,
import os BASE_DIR = os.path.dirname(os.path.dirname(__file__)) DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), } }Esto podría ser útil para usted.
Django solo usa la configuración de BASES DE DATABASES para generar migraciones usando un controlador de base de datos específico. Creo que en alguna parte, hay una importación que anula la configuración de BASES DE DATABASES . Estos son lugares posibles para buscar la depuración en orden de prioridad.
settings.py después de configurar la variable DATABASES que podría anularla.INSTALLED_APPS .