【发布时间】:2018-06-18 19:01:18
【问题描述】:
在使用 Django 用户模型时,我注意到模型管理器在处理数据库时包含using=self._db 参数。如果我只使用一个数据库,这有必要吗?除了指定数据库之外,using=self._db 还做了什么。如果添加另一个数据库,这是否被指定为故障安全?
【问题讨论】:
在使用 Django 用户模型时,我注意到模型管理器在处理数据库时包含using=self._db 参数。如果我只使用一个数据库,这有必要吗?除了指定数据库之外,using=self._db 还做了什么。如果添加另一个数据库,这是否被指定为故障安全?
【问题讨论】:
管理器使用该参数来定义管理器使用的底层查询集应该在哪个数据库上运行。如果您有例如,这只是可选地覆盖它。多个数据库,并且您希望管理器/查询集对特定的数据库进行操作。
【讨论】:
using=self._db 被遗漏,如果有多个数据库,Manager 如何知道要对哪个数据库进行操作?试图了解 Django 的内部工作原理。
using 没有明确设置时,默认使用这个数据库。如果设置using 需要一个字符串,它是DATABASE 设置字典中定义的数据库设置的键。