django - 在查询集中过滤外键

时间:2013-09-12 18:43:03

标签: django model django-queryset

在以下模型中:

class Product(models.Model):
    name = models.CharField(max_length = 255)
    created_in = models.DateTimeField(auto_now=True)

class Price(models.Model):
    product = models.ForeignKey(Product)
    price = models.DecimalField(max_digits=6, decimal_places=2)
    created_in = models.DateTimeField(auto_now=True)

我想做这样的事情:

  
    

产品= Product.objects.filter(price__gte =十进制(10))#认为我只需要最后一个价格的所有价格

  

如何只考虑与“created_in”相关的最后价格来查询产品?

谢谢!

1 个答案:

答案 0 :(得分:1)

latest()就是您所需要的:

  

使用field_name按日期返回表中的最新对象   作为日期字段提供。

products = Product.objects.filter(price__gte=Decimal(10)).latest('price__created_in')