【发布时间】:2017-08-22 15:12:13
【问题描述】:
如何使用 Django ORM 生成这种类型的where 子句?
where (datetime, id) < (%last_datetime, %last_id)
背景
我有一个这样的模型:
class Messages(models.Model):
# Implicit "id" serial primary key
datetime = models.DateTimeField(db_index=True)
message = models.CharField(max_length=1024)
我按datetime 对消息进行排序,并在多条消息具有相同的datetime 时使用id 作为平局断路器以实现一致的排序:
Messages.objects.order_by('datetime', 'id')
现在我需要过滤掉在给定已知消息之前排序的消息。
【问题讨论】: