根据模型外键对象变量过滤内联对象

时间:2020-03-17 17:59:39

标签: python django

我正在建立一个相对简单的披萨店。

有一个带有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

如何使其根据比萨类别过滤订单商品?例如,只能从一个特定类别中选择披萨。

0 个答案:

没有答案
相关问题