gpt4 book ai didi

python - 如何以编程方式获取 Django 中模型的管理器实例

转载 作者:行者123 更新时间:2023-11-30 23:00:17 25 4
gpt4 key购买 nike

我在模型中添加了一个自定义管理器,如下所示:

class StandardManagerModel(models.Model):
pass

class PublishableManager(models.Manager):
pass

class Publishable(models.Model):
published_objects = PublishableManager()

这将从模型中删除默认的.objects 管理器。如何检索模型类中声明的默认管理器?我想要一个像 get_default_manager() 这样的函数:

manager = get_default_manager(Publishable)
assert manager is Publishable.published_objects

manager = get_default_manager(StandardManagerModel)
assert manager is StandardManagerModel.objects

最佳答案

看来您根本不需要函数。它作为属性存储在模型上:

Model._default_manager

还有 Model._base_manager,如果您不提供的话,我只能假设它是默认管理器。

关于python - 如何以编程方式获取 Django 中模型的管理器实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35358914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com