【问题标题】:How do I retrieve the latest foreign key related items by group?如何按组检索最新的外键相关项?
【发布时间】:2017-03-09 03:19:36
【问题描述】:

我有以下型号:

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 字母代码(有很多选项)。对于给定的员工,我想检索给定员工创建的所有 log_types 的最新 LogEntry。我已经看到使用 annotate 获取所有员工的最新信息或所有 log_types 的最新信息的示例,但不是一个限制一个字段而注释另一个字段的示例。到目前为止我所尝试的一切都没有奏效。

【问题讨论】:

    标签: python django django-queryset


    【解决方案1】:

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

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

    【讨论】:

    • 这里的问题是我需要知道日志类型代码。我想要一个获取用户输入的所有日志类型代码的最新查询。 (用户可能输入了 1 种日志类型,10 或 50)。
    猜你喜欢
    • 2011-02-14
    • 1970-01-01
    • 2022-12-10
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-14
    相关资源
    最近更新 更多