Как получить из модели django 5 лучших товаров, которые имеют наименьшее количество?

#Это моя модель инвентаризации. Я хочу получить инвентарные позиции, которые имеют наименьшее количество в модели.

class Inventory(models.Model):
    name = models.CharField(max_length=100)
    purchase_date = models.DateTimeField()
    category = models.ForeignKey(Category, on_delete=models.CASCADE)
    
    quantity = models.CharField(max_length=50)
    purchase_price = models.FloatField(max_length=50)
    selling_price = models.FloatField(max_length=50)
    description = models.CharField(max_length=100)
    location = models.ForeignKey(Locations, on_delete=models.CASCADE)
    created_date = models.DateField(auto_now_add=True)

Чтобы получить ряд результатов с наименьшим или наибольшим значением, вы сначала упорядочиваете по этому полю order_by('quantity') так, чтобы нужные вам результаты были первыми, затем вы можете slice queryset для ограничения числа результатов

Поле quantity на самом деле должно быть PositiveIntegerField или IntegerField, поскольку в нем хранятся целые числа

top_five_least_quantity = Inventory.objects.order_by('quantity')[:5]
Вернуться на верх