Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 仅为每个唯一外键选择最新结果_Django_Orm_Django Queryset - Fatal编程技术网

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()