Files
lms-backend/apps/common/api/base_viewset.py
T
Flook fe67d491e2
Build & Push Docker Image (Backend) / build (push) Successful in 54s
feat: implement LMS core (CMS, Courses, Enrollment, Progress, Auth) (Admin + API)
2026-05-03 09:36:47 +07:00

29 lines
896 B
Python

from rest_framework.viewsets import ModelViewSet
from rest_framework.permissions import IsAuthenticated
from rest_framework.filters import SearchFilter, OrderingFilter
from django_filters.rest_framework import DjangoFilterBackend
class BaseModelViewSet(ModelViewSet):
"""
CMS-like Base ViewSet
- CRUD อัตโนมัติ
- Pagination (จาก settings.py)
- Filter / Search / Ordering
- Permission กลาง
"""
# default permission (override ได้)
permission_classes = [IsAuthenticated]
# filter backend มาตรฐานแบบ CMS
filter_backends = [
DjangoFilterBackend,
SearchFilter,
OrderingFilter,
]
# ค่า default (override ต่อ model)
filterset_fields = "__all__"
search_fields = []
ordering_fields = "__all__"
ordering = ["-id"]