Я строю относительно простую пиццерию.
Есть модель Pizza
с полем category
.
Есть также модель OrderItem
, которая относится к Pizza
:
class OrderItem(models.Model):
order = models.ForeignKey(Order,
on_delete=models.CASCADE,
verbose_name=_('OrderItem|Order', 'Order'))
pizza = models.ForeignKey(Pizza,
on_delete=models.CASCADE,
verbose_name=_('OrderItem|Item', 'Item'))
quantity = models.PositiveSmallIntegerField(validators=[MinValueValidator(1)],
verbose_name=_('OrderItem|Quantity', 'Quantity'))
@property
def price(self):
return self.pizza.price * self.quantity
def __str__(self):
return f"{self.pizza.id}"
В admin.py есть строчка, которая использует эту модель при отображении заказа:
class OrderItemInline(admin.TabularInline):
model = OrderItem
fields = ('pizza', 'quantity', 'price_admin',)
readonly_fields = ('price_admin',)
extra = 0
Как настроить фильтрацию элементов заказа по категории пиццы? Например, чтобы иметь возможность выбирать пиццу только из одной указанной категории c.