我想用两个表的数据批量更新一个表。对于以下文档中提到的更简单的情况,已经给出了解决方案:
Entry.objects.update(headline=F('blog__name'))
对于该解决方案,请参阅
https://stackoverflow.com/a/50561753/1092940
从示例扩展,假设通过名为 的字段有一个外键引用,并且通过名为 的字段Entry
有一个外键引用。我想要相当于:Blog
blog
Blog
User
author
Entry.objects.update(author_name=F('blog__author__username'))
与先前的解决方案一样,该解决方案预计使用SubQuery
和OuterRef
。
我在这里问的原因是因为我对这个问题开始使用多个OuterRef
s 的地方缺乏信心,并且对于它所指的外部 ref 产生了混淆。