【问题标题】:Do Django Model Managers require using=self._dbDjango 模型管理器是否需要 using=self._db
【发布时间】:2018-06-18 19:01:18
【问题描述】:

在使用 Django 用户模型时,我注意到模型管理器在处理数据库时包含using=self._db 参数。如果我只使用一个数据库,这有必要吗?除了指定数据库之外,using=self._db 还做了什么。如果添加另一个数据库,这是否被指定为故障安全?

【问题讨论】:

    标签: python django database


    【解决方案1】:

    管理器使用该参数来定义管理器使用的底层查询集应该在哪个数据库上运行。如果您有例如,这只是可选地覆盖它。多个数据库,并且您希望管理器/查询集对特定的数据库进行操作。

    【讨论】:

    • 如果using=self._db 被遗漏,如果有多个数据库,Manager 如何知道要对哪个数据库进行操作?试图了解 Django 的内部工作原理。
    • 设置中必须有一个数据库被定义为默认值。 See this 了解详情。当using 没有明确设置时,默认使用这个数据库。如果设置using 需要一个字符串,它是DATABASE 设置字典中定义的数据库设置的键。
    猜你喜欢
    • 1970-01-01
    • 2016-01-07
    • 1970-01-01
    • 2021-04-05
    • 2011-11-14
    • 2020-12-18
    • 1970-01-01
    • 1970-01-01
    • 2016-11-24
    相关资源
    最近更新 更多