django-drf
Django REST Framework patterns. Trigger: When implementing generic DRF APIs (ViewSets, serializers, routers, permissions, filtersets). For Prowler API specifics (RLS/RBAC/Providers), also use prowler-api.
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
Django REST Framework patterns. Trigger: When implementing generic DRF APIs (ViewSets, serializers, routers, permissions, filtersets). For Prowler API specifics (RLS/RBAC/Providers), also use prowler-api.
How to use
Zainstaluj skill w swoim projekcie Django poprzez dodanie go do konfiguracji Claude/Copilota. Skill automatycznie aktywuje się, gdy pracujesz w katalogu api/ i tworzysz nowe ViewSety, serializery lub filtry.
Przy implementacji nowego endpointu zacznij od modelu — upewnij się, że używasz UUID jako klucza głównego (UUIDv4 lub UUIDv7), dodaj pola
inserted_atiupdated_at, oraz zdefiniujJSONAPIMeta.resource_namedla zgodności ze schematem JSON:API.Utwórz ViewSet dziedziczący z
BaseRLSViewSeti zaimplementujget_queryset()z użyciemselect_related()lubprefetch_related()aby uniknąć problemu N+1. Pamiętaj o obsłudzeswagger_fake_viewdla poprawnego generowania schematu OpenAPI.Zdefiniuj serializery — zawsze oddziel je na operacje: Read (odczyt), Create (tworzenie), Update (aktualizacja) i Include (zagnieżdżone dane). Serializery do zapisu powinny dziedziczyć z
BaseWriteSerializeri walidować nieznane pola.Dodaj filtrowanie za pomocą
filterset_classzamiastfilterset_fieldsdla bardziej złożonych scenariuszy. Dziedzicz z dostępnych klas bazowych filtrów w projekcie.Skonfiguruj routing bez końcowych slashów (
trailing_slash=False), dodaj paginację i uprawnienia dostępu. Skill podpowie konkretne wzorce na każdym etapie — nigdy nie umieszczaj logiki biznesowej w serializerach, używaj dedykowanych serwisów lub narzędzi.