Django 查询结果获取同一字段的所有值

Django Query results get all values of same field

有没有办法在不循环遍历并添加到数组的情况下获取字段表单查询集的所有值?

我喜欢下面这个简单的例子。

我有一份报告 class,其中包含访问 FK 字段。

results = Report.objects.all()

visits = []
for res in results:
   visits.append(res.visit)

但是有没有办法做类似的事情:

visits = results.visit(与上面的查询循环得到的结果相同)。

编辑:

类 下面。

class Report(models.Model):
    ...
    completed_at = models.DateTimeField()
    due_date = models.DateField()
    planned_date = models.DateTimeField()
    visit = models.ForeignKey(ReportVisit)

class ReportVisit(models.Model):
    contact_name = models.CharField()
    time_in = models.DateTimeField()
    lat_in = models.CharField()
    long_in = models.CharField()

换个方向试试:

Visit.objects.filter(report__isnull=False)

您可以过滤 Visit 模型:

ReportVisit.objects.filter(<b>report__isnull=False</b>)<b>.distinct()</b>

.distinct() method [Django-doc] 将阻止检索相同的 Visit 次,因为存在相关的 Report 对象。如果你想每个 Report.

检索一次相同的 ReportVisit,你可以省略这个