【发布时间】:2017-03-03 20:00:34
【问题描述】:
您好,我正在使用 django 进行项目,我需要使用两个不同的数据库,但我有下一种情况,我在我的设置文件中定义了我的两个数据库,但在两个数据库中我都有一个名为 Personas 的表,具有不同的字段名称。 我如何定义我的模型? 我的问题是在“db_table”中的元定义中我在两个模型中都有相同的名称。如何指定哪个数据库包含该表?
【问题讨论】:
您好,我正在使用 django 进行项目,我需要使用两个不同的数据库,但我有下一种情况,我在我的设置文件中定义了我的两个数据库,但在两个数据库中我都有一个名为 Personas 的表,具有不同的字段名称。 我如何定义我的模型? 我的问题是在“db_table”中的元定义中我在两个模型中都有相同的名称。如何指定哪个数据库包含该表?
【问题讨论】:
编辑:您需要使用自定义数据库路由器,查看 Django 文档 Database routers 和这个 SO 答案 Custom DB router example。
您也可以使用QuerySet 的方法using 来指定数据库。例如:
User.objects.using('db1').all()
您还可以将 attr using 传递给 save 和 delete 方法。例如:
some_object.save(using='db1')
【讨论】: