Django 仅为每个唯一外键选择最新结果
具有在多个日期(日期可能在未来时间)存储多个产品数量的模型 示例:Django 仅为每个唯一外键选择最新结果,django,orm,django-queryset,Django,Orm,Django Queryset,具有在多个日期(日期可能在未来时间)存储多个产品数量的模型 示例:2013年1月1日-产品1金额为10$(即该值 从1.01至11.01)于2013年1月12日-产品1于 2013年5月10日-2013年6月11日的产品金额为17$-产品金额为14$ 2013年2月18日-2013年6月12日-Product2金额为3$ 金额15$ 2013年4月25日-2013年6月17日产品3金额为11$ 金额13$ 数据库后端MySQL 如何为每个日期为的产品选择实际金额(以及输入的该金额的日期)。您可以
2013年1月1日-产品1金额为10$(即该值 从1.01至11.01)
于2013年1月12日-产品1于 2013年5月10日-2013年6月11日的产品金额为17$
-产品金额为14$
2013年2月18日-2013年6月12日-Product2金额为3$
金额15$
2013年4月25日-2013年6月17日产品3金额为11$
金额13$
数据库后端MySQL 如何为每个日期为的产品选择实际金额(以及输入的该金额的日期)。您可以在日期字段中使用lt(小于)和gt(大于)查询集。
Django文件:
更适合这样做。这是错误的。在这种变体中,我并没有得到每种产品的最新价格。我在queryset中只需要两个对象。我编辑了我的答案以供您评论,请立即尝试。请认真重读问题的条件。在你的变体中——这是错误的。它只是一个问题——但答案绝对是错误的。在您的变体中-如果在最新日期-价格不在范围内-我得到金额的先前值。我不需要先前的金额。我需要-如果产品的最新数量-不在范围内-则产品不在范围内。Читайте условие внимательно, фигню пишете.
class Price(models.Model):
product = models.ForeignKey(Product)
date = models.DateField()
amount = DecimalField()
Product1 10.05.2013 17$
Product3 25.04.2013 11$
from datetime import date
products = Product.objects.filter(price__date__lte=date.today(),\
price__amount__range=(start, end).distinct()