从视图django rest框架中隐藏数量为0的产品

问题描述 投票:0回答:1

如何隐藏数量== 0的视图中的产品?这是我的models.py

class Product(models.Model):
    title = models.CharField(max_length=255, db_index=True)
    description = models.TextField()
    price = models.DecimalField(default=0.00, max_digits=100, decimal_places=2)
    quantity = models.PositiveIntegerField()
    color = models.CharField(choices=COLOR_CHOICES, default='BLACK', max_length=100)
    category = models.ManyToManyField(Category, related_name='products')

    class Meta:
        ordering = ('-id',)

    def __str__(self):
        return self.title

    @property
    def instock(self):
        return self.quantity > 0

和我的views.py

class ProductsList(generics.ListAPIView):
    queryset = Product.objects.all().order_by('-id')
    serializer_class = ProductSerializer
    filter_backends = (django_filters.rest_framework.DjangoFilterBackend,)
    filter_class = ProductFilter
django django-rest-framework
1个回答
0
投票

您可以使用exclude(field_name = value_to_exclude)排除对象,因此:

 class ProductsList(generics.ListAPIView):
        queryset = Product.objects.all().exclude(quantity=0).order_by('-id')
        serializer_class = ProductSerializer
        filter_backends = (django_filters.rest_framework.DjangoFilterBackend,)
        filter_class = ProductFilter
© www.soinside.com 2019 - 2024. All rights reserved.