You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.1 KiB
33 lines
1.1 KiB
from rest_framework import mixins |
|
from rest_framework import generics |
|
|
|
from apps.goods.models import Goods |
|
from apps.goods.serializers import GoodsSerializers, GoodsModelSerializer |
|
|
|
|
|
class GoodsMixin(mixins.ListModelMixin, mixins.CreateModelMixin, generics.GenericAPIView): |
|
queryset = Goods.objects.all().order_by('-id')[:3] |
|
serializer_class = GoodsModelSerializer |
|
|
|
# GoodsSerializers(queryset, many=True) |
|
|
|
def get(self, request, *args, **kwargs): |
|
return self.list(request, *args, **kwargs) |
|
|
|
def post(self, request, *args, **kwargs): |
|
return self.create(request, *args, **kwargs) |
|
|
|
|
|
class GoodsDetailMixin(mixins.RetrieveModelMixin, mixins.UpdateModelMixin, mixins.DestroyModelMixin, |
|
generics.GenericAPIView): |
|
queryset = Goods.objects.all() |
|
serializer_class = GoodsModelSerializer |
|
|
|
def get(self, request, *args, **kwargs): |
|
return self.retrieve(request, *args, **kwargs) |
|
|
|
def put(self, request, *args, **kwargs): |
|
return self.update(request, *args, **kwargs) |
|
|
|
def delete(self, request, *args, **kwargs): |
|
return self.destroy(request, *args, **kwargs)
|
|
|