К списку категорий

  •   Шаг 5. Напишем менеджера, для извлечения опубликованных статей.


  • django менеджеры



      Описание

    Менеджер – утилита Django умеющая извлекать записи с базы, посредством QyerySet (выборки объектов).


    Наша цель переопределить стандартный менеджер objects,
     и написать менеджера извлекающего опубликованные записи.

     



      Статья

    Мы знаем, что существует стандартный менеджер objects

    мы не раз выбирали объекты при помощи стандартного менеджера объектов.

    Пример в котором objects - это и есть менеджер.

    Post.objects.all()

    Мы напишем пользовательский менеджер.

    Зачем?

    Это удобно, так как нам нужно выбрать только опубликованные записи.

    (примечание - я показал пример кода, менеджеров можно писать столько сколько нужно).

    После написания проверим.

    Обратите внимание на картинку,  у меня в админке показано, 1 опубликованная запись и наш написанный менеджер её и выбрал с базы. Всё работает ура!

     

    Проверяем наш менеджер publiched в консоли. В данном случае в админке у меня 1 опубликованный пост, да действительно он и вывелся.

    from django.contrib.auth.models import User
    from blog.models import Post


    pub = Post.publiched.all()
    print(pub)
    <QuerySet [<Post: Первый пост>]>

     
     

    Перейти к подробному шагу 5

     



      Код

    код в курсе

      Рекомендации

    Узнать больше в ленте Twitter и подписаться на Ютуб, получать новые видео.



    Поиграйте с нашим вновь созданный менеджером. (посидите вечерок, не летите).

    Вспомните нам нужны твёрдые знания, а это даёт только осознанное написание кода.

    Перейдите в методы выборки Джанго,

    и поэксперементируйте в консоли.

     

    Применяйте наш менеджер publiched,

    который мы с вами написали, для разных выборок, например:

    fff = Post.publiched.filter(title__startswith='Первый')

     

    А потом стандартный менеджер objects (показал в видео),

    Post.objects.filter(title__startswith='Первый')

    Сразу увидите, что стандартный менеджер objects работает со всеми записями, а написанный нами publiched, только с опубликованными. (Круто).

    Теперь использование менеджеров, для ваших личных нужнд, больше не проблема, поздравляю!

     



    2017-01-30 08:41:33+00:00



    К списку категорий