首页 > 解决方案 > 在另一个模型中的条件下从一个模型中获取所有项目

问题描述

嗨,我正在窥探堆栈,但答案令人困惑或无法正常工作,您可以查看我的模型如何获取用户制作的所有 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)

标签: djangodjango-modelsdjango-queryset

解决方案


使用以下内容:

qs = OrderItem.objects.filter(order__complete=True)

获取特定客户:

qs.filter(order__customer=specific_customer)

推荐阅读