запрос к базе данных с помощью python sqlachemy

#python #postgresql #sqlalchemy

#python #postgresql #sqlalchemy

Вопрос:

У меня есть база данных postgresql в моем локальном компьютере, и я запрашиваю ее, используя следующий код python.

 import os

from sqlalchemy import create_engine
from sqlalchemy.orm import scoped_session, sessionmaker

engine = create_engine(os.getenv("DATABASE_URL"))
db = scoped_session(sessionmaker(bind=engine))


def main():
    flights = db.execute("select origin,destination,duration from flight").fetchall()
    for flight in flights:
        print(f"{flight.origin} to {flight.destination}, is {flight.duration} minutes")


if __name__ == "__main__":
    main()
  

Что мне указать в качестве значения DATABASE_URL для mycase??

Комментарии:

1. Используете ли вы какую-либо систему баз данных? Если нет, используйте sqlite, который хранит данные в .db файле. DATABASE_URL должно быть тогда sqlite:///tmp/test.db

2. я использую postgresql

3. Поэтому используйте: postgresql//user:password@localhost/database_name

4. Это не работает, но когда я удаляю ‘os.getenv’, это работает

5. Я думаю, это потому, что вы неправильно устанавливаете переменную среды DATABASE_URL . Вы можете опустить это и установить напрямую. Рад, что это сработало.

Ответ №1:

Вам нужно правильно задать URL-адрес вашей базы данных. Для PostgreSQL это:

 postgresql//user:password@localhost/database_name