python - 将 `sqlachemy` 连接到 django 数据库

标签 python django postgresql sqlalchemy

有没有办法将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+psycopg2postgresql

有没有办法将connectionsqlalchemy连接起来?

谢谢

最佳答案

我在此处的博客中找到了aldjemyhttps://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/

相关文章:

python - 如何解决django中的循环导入错误?

python - Django - 在同一模型中有多个外键

postgresql - 从删除子查询返回值中选择

postgresql - PostgreSQL 中的动态执行就像在 sql-server 中一样

python - 在 PyCharm 和文本编辑器 (Sublime Text) 中呈现 HTML 之间的差异

python计算字符串的接近度

django - 为什么models.User 允许用户名中的无效字符?

python - 如何在 turtle 图形中将多个按键绑定(bind)在一起?

python 正则表达式也查找带有换行符的值

django - Firefox WebFont 403 尽管有 S3 CORS 规则