【发布时间】:2019-09-30 21:46:33
【问题描述】:
所以我有 2 个模型:
class Product(models.Model):
BANANA = 'BAN'
PRODUCT_CHOICES = (
(BANANA, 'Banana'),
)
name = models.CharField(choices=PRODUCT_CHOICES, max_length=255, default=BANANA)
shelf_life = models.IntegerField(null=True, blank=True)
class PurchasedOrder(models.Model):
product = models.ForeignKey(Product, on_delete=models.CASCADE)
purchased_date = models.DateTimeField(auto_now_add=True)
expired = models.BooleanField(default=False)
目标:获取我所有未过期且购买日期小于现在时间和产品保质期的购买订单。
我尝试了以下 sudo 代码,我想知道如何访问此 PurchasedOrder 的产品保质期,因为采购订单有一个产品的外键。我可以创建一些 for 循环,但必须有一种方法可以通过 PurchaseOrder 访问产品的保质期字段。
PurchasedOrder.objects.filter(
expired=False,
purchased_date__lt=F(datetime.now() - product__shelf_life),
)
感谢您的帮助
【问题讨论】: