如何按组检索最新的外键相关项?

时间:2016-10-26 16:34:14

标签: python django django-queryset

我有以下型号:

class Employee(models.Model):
     name = models.CharField(max_length=200)

class LogEntry(models.Model)
     employee = models.ForeignKey(Employee)
     log_type = models.CharField(max_length=2)
     entry_date = models.DateTimeField()
     log_data = models.TextField()

在这种情况下,log_type是一个2 alpha代码(有很多选项)。对于给定的员工,我想为给定员工创建的所有log_types检索最新的LogEntry。我已经看到使用annotate来获取所有员工的最新信息,或者所有log_types的最新信息,但不是限制在一个字段上的示例,而在另一个字段上进行注释。到目前为止,我所尝试的一切都没有奏效。

1 个答案:

答案 0 :(得分:0)

关键是使用.last()方法,它按id返回最后创建的记录。

logentry = Employe.objects.get(name="your employe name")\
                               .logentry_set.filter(log_type="log type code").last()