PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

db.create_all() L'oggetto 'NoneType' non ha attributo 'drivername'

Penso che questo sia un problema con il modo in cui stai tentando di connetterti al tuo Postgres banca dati:

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

probabilmente vorrai invece che questa riga sia la seguente:

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

dal os.getenv(...) sta attualmente cercando di ottenere una variabile di ambiente sul tuo sistema denominata:"postgresql://postgres:[email protected]/database1" e sicuramente non hai impostato una variabile di ambiente con questo nome.. Ecco perché stai ricevendo un NoneType errore per il tuo postgres conducente:

Se desideri utilizzare una variabile di ambiente per ottenere la stringa di connessione al database, fai qualcosa di simile a quanto segue nel tuo .bash_profile o .bashrc file:

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

quindi modifica il codice di connessione al database come segue:

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

Speriamo che abbia senso!