feat: added product filters
This commit is contained in:
@@ -0,0 +1,17 @@
|
|||||||
|
from django.utils.text import gettext_lazy as _
|
||||||
|
import django_filters
|
||||||
|
|
||||||
|
from shop.models import Product
|
||||||
|
|
||||||
|
|
||||||
|
class ProductFilter(django_filters.FilterSet):
|
||||||
|
tags = django_filters.BaseInFilter(field_name='tags', label=_('Etiquetas'))
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Product
|
||||||
|
fields = (
|
||||||
|
"name",
|
||||||
|
"stock",
|
||||||
|
"is_digital_asset",
|
||||||
|
"tags",
|
||||||
|
)
|
||||||
@@ -9,6 +9,7 @@ from rest_framework.viewsets import ModelViewSet
|
|||||||
from rest_framework.exceptions import ValidationError
|
from rest_framework.exceptions import ValidationError
|
||||||
from rest_framework.permissions import IsAdminUser
|
from rest_framework.permissions import IsAdminUser
|
||||||
|
|
||||||
|
from shop.api.v1.filters import ProductFilter
|
||||||
from shop.api.v1.serializers import (
|
from shop.api.v1.serializers import (
|
||||||
ProductSerializer,
|
ProductSerializer,
|
||||||
ProductPriceSerializer,
|
ProductPriceSerializer,
|
||||||
@@ -46,6 +47,7 @@ class ProductViewSet(ModelViewSet):
|
|||||||
ProductPermissions,
|
ProductPermissions,
|
||||||
)
|
)
|
||||||
search_fields = ('name', )
|
search_fields = ('name', )
|
||||||
|
filterset_class = ProductFilter
|
||||||
|
|
||||||
def get_serializer_class(self):
|
def get_serializer_class(self):
|
||||||
if self.action == "create":
|
if self.action == "create":
|
||||||
|
|||||||
Reference in New Issue
Block a user