【发布时间】:2012-04-26 15:22:00
【问题描述】:
我有一家商店,这家商店有优惠 优惠之一 如果您购买此清单中的 5 件,您将获得 3 美元的折扣, 我试着写一个查询,
但没用
o=order_products.objects.filter(order__id=1).values('product').annotate(Sum('qty'))
offers.objects.filter(products__id__in=o.values('product_id')).distinct(True)
现在我如何匹配此项目列表的数量相等 有这个折扣或倍数
例如,如果他买了 5 件,他将获得 3 美元的折扣 如果他买了 10 件,他将获得 6 美元的折扣 等等……
class product(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=255)
price=models.FloatField()
class order(models.Model):
id = models.AutoField(primary_key=True)
order_date = models.DateTimeField(auto_now=True)
class order_products(models.Model):
product=models.ForeignKey(product)
qty=models.IntegerField()
order=models.ForeignKey(order)
class offers(models.Model):
id = models.AutoField(primary_key=True)
products = models.ManyToManyField(product)
qty = models.FloatField()
discount_amount=models.FloatField()
【问题讨论】:
标签: django orm django-queryset