如何找到从中加载 Django 记录的数据库?

How to find the database a Django record was loaded from?

如何利用 Django 的 multiple database 支持找到加载记录的数据库?

我知道如何从非默认数据库中检索记录:

record = MyModel.objects.using('otherdatabase').get(id=123)

但是鉴于记录,我如何查找 using 值?我试过了:

record._default_manager.db

但这总是 returns default,无论我发送给 using() 的值如何。

_state 似乎有你要找的东西。

record._state.db

如果您有兴趣,可以在此处的源代码内部使用它:https://docs.djangoproject.com/en/dev/_modules/django/db/models/base/