Документация менеджера django содержит параграф, перезаписанный DO NOT FILTER AWAY ANY RESULTS IN THIS TYPE OF MANAGER SUBCLASS
, но в следующем тексте упоминается только get_query_set()
Сохраняется ли фильтрация во всех (), get (), filter (), exclude ()?
Причина, по которой я хочу это сделать: мне нужен автоматический Менеджер, так как он дает мне возможность контролировать, какие строки отправляются в шаблон-тег, как описано в b-list: лучше писать теги шаблонов
Будет ли этот код в порядке?
class ArticleMananger(models.Manager):
def get_query_set(self):
return super(ArticleMananger, self).get_query_set()
def all(self):
return super(ArticleMananger, self).filter(published=True)
def filter(self, **kwargs):
return super(ArticleMananger, self).filter(published=True).filter(**kwargs)
....
Редактировать: Если кто-то проголосует, было бы неплохо или просто объяснить, почему. Что не так в этом вопросе?