我将django-model-utils用于它的InheritanceManager类,因此我的父模型Activity
的查询集也会返回其子类的信息,如Sports
,Party
等。
但是,现在我想创建一个自定义查询来默认添加一些过滤器,我不能让它为InheritanceManager工作。由于InheritanceManager已经替换了我的模型的默认管理器,因此我无法按照Django's docs的描述创建自定义管理器。
只需从InheritanceManager继承自定义管理器不起作用。还有其他想法吗?
答案 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()