根据Django文档中的例子,我可以获得一个反向相关对象的列表,如下所示:
Blog.objects.values('entry__id')
这大概会给我所有相关Entry对象的ID。如果我想要这个信息以及在正常的.values()
调用中返回的所有其他信息,有没有一个简单的方法来添加它?或者,我需要在.values()
中显式列出所有模型的字段,以便在输出中包含反向键吗?
您可以使用annotate
从外键添加额外字段
from django.db.models import F
blogs = Blog.objects.all().annotate(entry_id=F('entry__id'))
for blog in blogs:
print(blog.entry_id)