我正在建立一个相对简单的披萨店。
有一个带有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
如何使其根据比萨类别过滤订单商品?例如,只能从一个特定类别中选择披萨。