tracked content serializer changes
This commit is contained in:
parent
845394fbe9
commit
44cde0daf4
@ -148,7 +148,18 @@ class SavedGuildSerializer(DynamicModelSerializer):
|
||||
fields = ("id", "guild_id", "name", "icon", "added_by", "permissions", "owner")
|
||||
|
||||
|
||||
class TrackedContentSerializer(DynamicModelSerializer):
|
||||
class TrackedContentSerializer_GET(DynamicModelSerializer):
|
||||
"""
|
||||
Serializer for the TrackedContent model.
|
||||
"""
|
||||
|
||||
subscription = SubscriptionSerializer()
|
||||
|
||||
class Meta:
|
||||
model = TrackedContent
|
||||
fields = ("guid", "title", "subscription", "creation_datetime")
|
||||
|
||||
class TrackedContentSerializer_POST(DynamicModelSerializer):
|
||||
"""
|
||||
Serializer for the TrackedContent model.
|
||||
"""
|
||||
|
@ -46,6 +46,6 @@ urlpatterns = [
|
||||
|
||||
path("tracked-content/", include([
|
||||
path("", TrackedContent_ListView.as_view(), name="tracked-content"),
|
||||
path("<str:pk>/", TrackedContent_DetailView.as_view(), name="tracked-content-detail")
|
||||
path("<path:pk>/", TrackedContent_DetailView.as_view(), name="tracked-content-detail")
|
||||
])),
|
||||
]
|
||||
|
@ -18,7 +18,8 @@ from .serializers import (
|
||||
FilterSerializer,
|
||||
SubscriptionSerializer,
|
||||
SavedGuildSerializer,
|
||||
TrackedContentSerializer
|
||||
TrackedContentSerializer_GET,
|
||||
TrackedContentSerializer_POST
|
||||
)
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
@ -386,11 +387,19 @@ class TrackedContent_ListView(generics.ListCreateAPIView):
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
pagination_class = DefaultPagination
|
||||
serializer_class = TrackedContentSerializer
|
||||
queryset = TrackedContent.objects.all().order_by("guid")
|
||||
|
||||
filter_backends = [filters.SearchFilter, rest_filters.DjangoFilterBackend, filters.OrderingFilter]
|
||||
filterset_fields = ["guid", "title", "subscription", "creation_datetime"]
|
||||
filterset_fields = ["guid", "title", "subscription", "subscription__guild_id", "creation_datetime"]
|
||||
|
||||
read_serializer_class = TrackedContentSerializer_GET
|
||||
write_serializer_class = TrackedContentSerializer_POST
|
||||
|
||||
def get_serializer_class(self):
|
||||
if self.request.method == "POST":
|
||||
return self.write_serializer_class
|
||||
|
||||
return self.read_serializer_class
|
||||
|
||||
def post(self, request):
|
||||
serializer = self.get_serializer(data=request.data)
|
||||
@ -420,6 +429,7 @@ class TrackedContent_DetailView(generics.RetrieveUpdateDestroyAPIView):
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
parser_classes = [MultiPartParser, FormParser]
|
||||
|
||||
serializer_class = TrackedContentSerializer
|
||||
serializer_class = TrackedContentSerializer_POST
|
||||
queryset = TrackedContent.objects.all().order_by("guid")
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user