如何在 Django 中使用关系
how to use relationship in django
我有一个 Order 和 OrderProductDetail 模型
class Order(models.Model):
owner = models.ForeignKey(User, on_delete=models.CASCADE)
is_paid = models.BooleanField(verbose_name='پرداخت شده / نشده')
payment_date = models.DateTimeField(blank=True, null=True, verbose_name='تاریخ پرداخت')
class OrderProductDetail(models.Model):
order = models.ForeignKey(Order, on_delete=models.CASCADE, verbose_name='سبد خرید')
product = models.ForeignKey(Mahsoolat, on_delete=models.CASCADE, verbose_name='محصول')
price = models.IntegerField(verbose_name='قیمت محصول')
created_at = models.DateTimeField(verbose_name="تاریخ ثبت", default=datetime.datetime.now())
in views.py(订单有两个项目)
orders = Order.objects.filter(owner_id=request.user.id, is_paid=True)
在每个订单项目中包含多个项目
现在我如何检索 OrderProductDetail 模型
中存在的所有订单项
您可以使用lookups that span relationships
一行
OrderProductDetail.objects.filter(order__owner=request.user.id, order__is_paid=True)
我有一个 Order 和 OrderProductDetail 模型
class Order(models.Model):
owner = models.ForeignKey(User, on_delete=models.CASCADE)
is_paid = models.BooleanField(verbose_name='پرداخت شده / نشده')
payment_date = models.DateTimeField(blank=True, null=True, verbose_name='تاریخ پرداخت')
class OrderProductDetail(models.Model):
order = models.ForeignKey(Order, on_delete=models.CASCADE, verbose_name='سبد خرید')
product = models.ForeignKey(Mahsoolat, on_delete=models.CASCADE, verbose_name='محصول')
price = models.IntegerField(verbose_name='قیمت محصول')
created_at = models.DateTimeField(verbose_name="تاریخ ثبت", default=datetime.datetime.now())
in views.py(订单有两个项目)
orders = Order.objects.filter(owner_id=request.user.id, is_paid=True)
在每个订单项目中包含多个项目 现在我如何检索 OrderProductDetail 模型
中存在的所有订单项您可以使用lookups that span relationships
一行
OrderProductDetail.objects.filter(order__owner=request.user.id, order__is_paid=True)