Django:使用tup过滤组合列

2024-10-01 17:36:44 发布

您现在位置:Python中文网/ 问答频道 /正文

如何使用Django ORM生成这种类型的where子句?在

where (datetime, id) < (%last_datetime, %last_id)

背景

我有一个这样的模型:

^{pr2}$

我按datetime对消息进行排序,并使用id作为一致排序的纽带,当多个消息具有相同的datetime时:

Messages.objects.order_by('datetime', 'id')

现在我需要过滤掉在给定已知消息之前排序的消息。在


Tags: django模型id消息类型datetime排序orm
2条回答

您可以使用objects.filter()

relevant_messages = Messages.objects.filter(datetime__range=[start_date_string, end_date_string])

我也很确定您可以将您的order_by()filter()调用链接在一起:

^{pr2}$

有点费解,但我想这是可行的:

Messages.objects.filter(datetime__lte=x).exclude(datetime=x, id__gt=y)

相关问题 更多 >

    热门问题