Django-model-utils:将InheritanceManager与自定义查询集一起使用

时间:2014-02-24 10:31:45

标签: django django-models

我将django-model-utils用于它的InheritanceManager类,因此我的父模型Activity的查询集也会返回其子类的信息,如SportsParty等。

但是,现在我想创建一个自定义查询来默认添加一些过滤器,我不能让它为InheritanceManager工作。由于InheritanceManager已经替换了我的模型的默认管理器,因此我无法按照Django's docs的描述创建自定义管理器。

只需从InheritanceManager继承自定义管理器不起作用。还有其他想法吗?

1 个答案:

答案 0 :(得分:1)

当然可以,只需定义自己继承自InheritanceManager的自定义管理器类,如下所示:

from model_utils.managers import InheritanceManager

class CustomInheritanceManager(InheritanceManager):
    def get_queryset(self):
        # your custom queryset here ...

class YourModel(models.Model):
    objects = CustomInheritanceManager()