Фильтрация встроенных объектов на основе переменной объекта внешнего ключа модели - PullRequest
0 голосов
/ 17 марта 2020

Я строю относительно простую пиццерию.

Есть модель 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...