<p>以下工作:</p>
<pre><code>CollectedSample.objects.filter(labreportrelation__labReportId__in=labReportIdList).update(collectionTime=updateTime)
</code></pre>
<p>假设<code>labReportIdList</code>是一个列表</p>
<p>运行以下模型(与OP中的模型完全相同):</p>
<pre><code>import os
_module = os.path.split(os.path.dirname(__file__))[-1]
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "{}.settings".format(_module))
import django
django.setup()
from app.models import CollectedSample, LabReportRelation
from django.utils.timezone import now
if __name__ == "__main__":
sample = CollectedSample.objects.create(collectionTime=now())
report = LabReportRelation.objects.create(collectedSampleId=sample)
print(f"Initial collection time: {sample.collectionTime} for sample {sample.id}")
labReportIdList = [report.labReportId]
updateTime = now()
CollectedSample.objects.filter(labreportrelation__labReportId__in=labReportIdList).update(collectionTime=updateTime)
sample = CollectedSample.objects.get(pk=sample.pk)
print(f"Updated collection time: {sample.collectionTime} for sample {sample.id}")
</code></pre>
<p>印刷品:</p>
<pre><code>Initial collection time: 2019-02-23 07:51:10.578433+00:00 for sample 3
Updated collection time: 2019-02-23 07:51:10.735463+00:00 for sample 3
</code></pre>
<p>正如官方文件<a href="https://docs.djangoproject.com/en/2.1/topics/db/queries/#lookups-that-span-relationships" rel="nofollow noreferrer">here</a>所解释的,它向后遵循ForeignKey关系</p>