【发布时间】:2020-03-14 20:06:19
【问题描述】:
我有以下问题:我正在开发一个使用在管理器中覆盖 get_queryset() 方法的模式的项目。
# Model declaration
class MyModel(models.Model):
...
objects = MyModelManager()
# Manager declaration
class MyModelManager(models.Manager):
def get_queryset(self):
return super(MyModelManager, self).get_queryset().exclude(is_visible=False)
当你使用 django ORM 时,这会导致一些记录变得基本不可见。
我现在需要在某些极端情况下使用基本 get_queryset() 方法,而不是使用自定义方法。
我可以清理和更改所有代码,但工作量很大。
所以我的问题是:有没有办法进行这样的查询 MyModel.objects.all() 并避免使用自定义管理器方法?
希望我的观点足够清楚。
谢谢,
罗恩
【问题讨论】:
-
只需添加另一个经理。
-
我的用例是一个匿名数据库的工具。我调用了一个需要查找所有记录的管理命令。
标签: django django-orm django-managers