Lekce 11 - REST API v Django REST - Filtrování filmů Nové
V předchozí lekci, REST API v Django REST - Serializer a ViewSet filmů, jsme pro entitu filmu v našem projektu doplnili serializer, ViewSet a nastavili URL adresy.
V tomto Python tutoriálu se zaměříme na implementaci
filtrování filmů v naší Django REST API.
Umožníme uživateli filtrovat filmy podle herců,
režiséra, žánru a roku
vydání. Stejně jako u filtrování osob přidáme také možnost
omezení počtu výsledků pomocí parametru
limit
.
Vytvoření třídy
MovieService
Ve složce api/services/
vytvoříme nový soubor s názvem
movie_service.py
. Bude obsahovat třídu MovieService
a její statickou metodu get_filtered_queryset()
, která na
základě zadaných parametrů vrátí vyfiltrovaný queryset
.
Soubor upravíme do následující podoby:
from ..models import Movie class MovieService: @staticmethod def get_filtered_queryset(director_id=None, actor_id=None, genre=None, from_year=None, to_year=None, limit=None): queryset = Movie.objects.all()
Filtrace podle osob a žánru
V proměnné queryset
jsou zatím uloženy všechny
filmy. Pomocí zadaných parametrů je budeme postupně filtrovat.
Rozšíříme proto metodu get_filtered_queryset()
o
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Před koupí tohoto článku je třeba koupit předchozí díl
Obsah článku spadá pod licenci Premium III, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tutoriálu REST API v Python frameworku Django zprovozníme filtrování filmů pomocí Django ORM a dokončíme tím práci s entitou filmu.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.