PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

db.create_all() L'objet 'NoneType' n'a pas d'attribut 'drivername'

Je pense que c'est un problème avec la façon dont vous essayez de vous connecter à votre Postgres base de données :

app.config["SQLALCHEMY_DATABASE_URI"] = os.getenv("postgresql://postgres:[email protected]/database1")

vous voulez probablement que cette ligne soit plutôt la suivante :

app.config["SQLALCHEMY_DATABASE_URI"] = "postgresql://postgres:[email protected]/database1"

depuis le os.getenv(...) tente actuellement d'obtenir une variable d'environnement sur votre système nommée :"postgresql://postgres:[email protected]/database1" et vous n'avez sûrement pas configuré de variable d'environnement avec ce nom. C'est pourquoi vous obtenez un NoneType erreur pour votre postgres conducteur :

Si vous souhaitez utiliser une variable d'environnement pour obtenir votre chaîne de connexion à la base de données, procédez comme suit dans votre .bash_profile ou .bashrc fichier :

export SQLALCHEMY_DATABASE_URI='postgresql://postgres:[email protected]/database1'

puis changez votre code de connexion à la base de données comme suit :

app.config["SQLALCHEMY_DATABASE_URI"] = os.environ.get('SQLALCHEMY_DATABASE_URI')

J'espère que cela a du sens !