Сокрытие товаров с количеством 0 из представления django остальные рамки - PullRequest
0 голосов
/ 07 марта 2019

Как я могу скрыть продукты с количеством == 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

1 Ответ

0 голосов
/ 07 марта 2019

Вы можете исключить объекты с помощью 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
...