查询集合以获取集合的 ID

Querying collections for the id of a collection

我想按集合过滤文档。我可以通过设置上下文并使用此查询添加文档来提取所有文档:

context['documents'] = Document.objects.all()

然而这失败了

context['documents'] = Document.objects.filter(collection='articles')

我收到一条错误消息,提示我必须传递类别 ID 而不是类别名称。但是如何找到知道名称的类别 ID?我似乎找不到说明如何查询集合对象的文档。

Collection 模型上使用 standard Django lookup methods

from wagtail.core.models import Collection

collection_id = Collection.objects.get(name='articles').id

不过,在这种情况下,您可以 incorporate the 'lookup by name' into the filter query:

context['documents'] = Document.objects.filter(collection__name='articles')