回顾views.py上的最新日期

问题描述 投票:0回答:1

我试图从一个查询集接收最新日期。

customer = models.ForeignKey(Customer, null=True, on_delete= models.SET_NULL)
product = models.ForeignKey(Product, null=True, on_delete= models.SET_NULL)
date_created = models.DateTimeField(auto_now_add=True, null=True)
status = models.CharField(max_length=200, null=True, choices=STATUS)
note = models.CharField(max_length=1000, null=True)
stock = models.CharField(max_length=200, null=True)
min_stock = models.CharField(max_length=200, null=True)

class Meta:
    get_latest_by = 'date_created'


def __str__(self):
    return self.product.name

这样我就可以在我的html上显示每个客户下单的最新日期,并在每次下单时自动更新。

然而,当我尝试这个查询集。

latest_order = Order.objects.order_by('date_created').last()

我收到的是产品的名称而不是创建的日期,有什么方法可以接收每个客户最新的创建日期吗?

python html django django-queryset
1个回答
1
投票

尝试使用。

from django.db.models import F, Max

latest_order_per_user = Order.objects.annotate(
    latest=Max('user__order__date_created')
).filter(date_created=F('latest'))

如果你想只得到日期,你可以使用 价值观 方法。

latest_order_per_user = Order.objects.annotate(
        latest=Max('user__order__date_created')
    ).filter(date_created=F('latest'))
latest_dates = last_order_per_user.values('date_created')

0
投票

这就是工作,你看我把一个破折号放在一个支架里面。

latest_order = Order.objects.order_by('-date_created')
© www.soinside.com 2019 - 2024. All rights reserved.