【发布时间】:2016-03-03 11:37:03
【问题描述】:
我正在尝试使用 django .as_manager() 函数将多个调用链接到自定义模型方法。
managers.py:
class ArticlesManager(models.Manager):
def some_filter(self):
return self.filter(something)
def other_filter(self):
return self.filter(something_else)
models.py
class Article(models.Model):
# ...
objects = ArticlesManager()
我希望能够致电Article.objects.some_filter().other_filter()
如果我尝试我得到这个错误:
'QuerySet' 对象没有属性 'other_filter'
在some_filter 中使用return self.filter(something).as_manager() 只会将错误更改为:
“ManagerFromQuerySet”对象没有属性“other_filter”
并将其作为objects = ArticlesManager().as_manager() 放入模型中会将错误更改为:
AttributeError:“ProductsManager”对象没有属性“as_manager”
我不明白应该在哪里以及如何使用 as_manager 方法才能成功链接模型管理器方法。
【问题讨论】: