将相关 ID 列表添加到 Django 查询集中的返回值

Adding List of Related IDs to returned values in a Django Queryset

根据Django's Docs中的例子,我可以得到这样一个反向相关对象的列表:

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)