将List of Related ID添加到Django Queryset中的返回值中



根据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)

最新更新