根据相关字段最早实例的值过滤Django查询集

时间:2019-02-04 13:42:43

标签: python django

给出以下模型

class Thing(models.Model):
    ...

class Status(models.Model):
   thing = models.ForeignKey(Thing, ...)
   value = models.CharField(choices=(('foo', 'foo'), ('bar', 'bar')), ...)
   timestamp = models.DateTimeField(auto_now_add=True)

   class Meta:
      ordering = ('timestamp',)

是否可以通过使用Django ORM工具(无需进行大量原始SQL编写和查询后的内存中处理)来获取Thing的查询集,其最新时间戳的值为{{1} }?

换句话说,我想重新编写以下代码,并为bar获得相同的值:

queryset

1 个答案:

答案 0 :(得分:0)

请查看Subquery文档ORM cookbook和if条件,我认为您可以尝试以下操作:

object TypedActorRef {
  private case class Ref[T <: Actor] (reference: ActorRef) extends TypedActorRef[T]
  def apply[T <: Actor](actor: T) = {
    Ref[T](actor.self)
  }
}

尽管我现在无法验证。无论如何,一个非常有趣的问题,直到现在我才意识到。