Skip to content
Snippets Groups Projects
Commit 1e0e68dc authored by Erwan Rouchet's avatar Erwan Rouchet
Browse files

Add get_ascendings

parent b9910ab7
No related branches found
No related tags found
1 merge request!18Transcription search
from django.db import models
from itertools import groupby
class DocumentManager(models.Manager):
......@@ -8,6 +9,15 @@ class DocumentManager(models.Manager):
"""Get all parent documents for a specific document ID."""
return self.filter(dp_parent__id=id).order_by('dp_parent__ordering')
def get_ascendings(self, *ids):
"""Get all parent documents for some document IDs."""
from documents.models import DocumentParents
dps = DocumentParents.objects.filter(id__in=ids).order_by('id', 'ordering').only('id', 'parent').select_related('parent')
return {
pk: [dp.parent for dp in items]
for pk, items in groupby(dps, lambda d: d.id)
}
def get_descending(self, id):
"""Get all child documents for a specific document ID."""
return self.filter(dc_child__id=id).order_by('dc_child__ordering')
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment