有一节课
Order
,
SubOrder
和阶级
Product
1.我想确定没有
顺序
对象将包含多个
亚目
具有相同属性的对象
产品
对象
class Order(TimeStampedModel):
....
class SubOrder(models.Model):
order = models.ForeignKey('orders.Order', on_delete=models.CASCADE, related_name='suborders')
product = models.ForeignKey('products.Product', on_delete=models.CASCADE)
quantity = models.PositiveIntegerField(verbose_name='PoÄet')
如果有3种产品-
A、 B,C
我不想要
顺序
对象具有多个
SubOrders
同样
产品
。
例如
Order[Suborder[A,12],Suborder[B,12],Suborder[B,5]]
应该提高
ValidationError
因为有两个
亚目
同样
产品
B
。
有可能在电视上这样做吗
model
或
database
层
编辑
我试过这个:
def clean(self):
neighbour_suborders = self.order.suborders.filter(product=self.product)
if self.pk:
neighbour_suborders = neighbour_suborders.exclude(pk=self.pk)
if neighbour_suborders.exists():
raise ValidationError("Takýto produkt už v objednávke existuje!")
但它允许在Django admin中创建这样的命令。