django - 在另一个模型中的条件下从一个模型中获取所有项目
问题描述
嗨,我正在窥探堆栈,但答案令人困惑或无法正常工作,您可以查看我的模型如何获取用户制作的所有 OrderItems,这些 OrderItems 具有完整 = True 的顺序。
class Order(models.Model):
customer = models.ForeignKey(Customer, on_delete=models.SET_NULL, blank=True, null=True)
date_oredred = models.DateField(auto_now_add=True)
complete = models.BooleanField(default=False, null=True, blank=True)
transaction_id = models.CharField(max_length=200, null=True)
class OrderItem(models.Model):
product = models.ForeignKey(Product, on_delete=models.SET_NULL, blank=True, null=True)
order = models.ForeignKey(Order, on_delete=models.SET_NULL, blank=True, null=True)
quantity = models.IntegerField(default=0, null=True, blank=True)
date_added = models.DateTimeField(auto_now_add=True)
transaction_id = models.CharField(max_length=200, null=True)
解决方案
使用以下内容:
qs = OrderItem.objects.filter(order__complete=True)
获取特定客户:
qs.filter(order__customer=specific_customer)