有没有办法将sqlalchemy
连接到django数据库?我正在运行 django 测试,其中创建了一个测试数据库 connection._connections.settings['default']
给出:
{'ENGINE': 'django.db.backends.postgresql', 'NAME': 'test_db', 'USER': 'postgres', 'PASSWORD': 'qwertyu', 'HOST': 'localhost', 'PORT': '5432', 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'OPTIONS': {}, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}}
但是如果我尝试使用sqlalchemy
连接到该数据库:
user = settings.DATABASES['default']['USER']
password = settings.DATABASES['default']['PASSWORD']
database_name = settings.DATABASES['default']['NAME']
database_url = 'postgresql+psycopg2://{user}:{password}@localhost:5432/{database_name}'.format(
user=user,
password=password,
database_name=database_name,
)
engine = create_engine(database_url, echo=False)
创建了一个全新的数据库。因此,使用 model.bulkcreate()
实时插入的任何数据都是与 sqlalchemy
创建的数据库不同的数据库。
我希望能够同时使用两者。我想使用 sqlalchemy
进行长时间序列(1M 到 10M 行),其中 model.bulkcreate()
需要很长时间。
我觉得很奇怪,connection
的引擎是'django.db.backends.postgresql',而sqlalchemy
的引擎是postgresql+psycopg2
或 postgresql
。
有没有办法将connection
与sqlalchemy
连接起来?
谢谢
最佳答案
我在此处的博客中找到了aldjemy
。 https://rodic.fr/blog/sqlalchemy-django/
所需要的就是这个
from aldjemy.core import get_engine
engine = get_engine()
df.to_sql(table_name, con=engine)
关于python - 将 `sqlachemy` 连接到 django 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73029009/