Всем привет.
Обучаюсь django. Учусь по книге в которой описывается вер. 2.0.
Застрял на таком вопросе.
Создал менеджер для получения статьи.
и добавил этот менеджер в модель
Теперь создаю обработчик для списка статей
И если использовать такую запись
то список не выводиться.
а если использую менеджер по умолчанию то все работает
Подскажите может есть какие-то принципиальные отличия с менеджарами в версиях 3 и 2? Или может где-то допускаю ошибку.
до этого самостоятельно получалось найти информацию, когда что-то не получалось.
P.S.
За ранее благодарен! и прошу без нападок т.к. новичок в этом деле)
Обучаюсь django. Учусь по книге в которой описывается вер. 2.0.
Застрял на таком вопросе.
Создал менеджер для получения статьи.
Python:
class PublishedManager(models.Manager):
def get_queryset(self):
return super(PublishedManager, self).get_queryset().filter(status='published')
и добавил этот менеджер в модель
Python:
class Post(models.Model):
STATUS_CHOICES = (
('draft', 'Draft'),
('published', 'Published'),
)
title = models.CharField(max_length=250)
slug = models.SlugField(max_length=250, unique_for_date='publish')
author = models.ForeignKey(User, on_delete=models.CASCADE, related_name='blog_posts')
body = models.TextField()
publish = models.DateTimeField(default=timezone.now())
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
status = models.CharField(max_length=10, choices=STATUS_CHOICES, default='draft')
objects = models.Manager() # The default manager.
published = PublishedManager() # Our custom manager.
Теперь создаю обработчик для списка статей
И если использовать такую запись
Python:
def post_list(request):
posts = Post.[B]published[/B].all()
return render(request, 'blog/post/list.html', {'posts': posts})
то список не выводиться.
а если использую менеджер по умолчанию то все работает
Python:
def post_list(request):
posts = Post.[B]objects.[/B]all()
return render(request, 'blog/post/list.html', {'posts': posts})
Подскажите может есть какие-то принципиальные отличия с менеджарами в версиях 3 и 2? Или может где-то допускаю ошибку.
до этого самостоятельно получалось найти информацию, когда что-то не получалось.
P.S.
За ранее благодарен! и прошу без нападок т.к. новичок в этом деле)