summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/views/scans.py6
-rw-r--r--templates/manywallets.html4
2 files changed, 10 insertions, 0 deletions
diff --git a/core/views/scans.py b/core/views/scans.py
index 4b35377..097c69f 100644
--- a/core/views/scans.py
+++ b/core/views/scans.py
@@ -58,5 +58,11 @@ def scansingle(request, path, file):
def allwallets(request):
+ '''Returns all the wallets in the system, we would like to use
+ the Django queryset SQL optimisation https://docs.djangoproject.com/en/3.2/ref/models/querysets/#prefetch-related
+ to get the related singlescan and survexblock objects but that requires rewriting this to do the query on those, not on
+ the wallets
+ '''
manywallets = Wallet.objects.all()
+ # manywallets = Wallet.objects.all().prefetch_related('singlescan') fails as the link is defined on 'singlescan' not on 'wallet'
return render(request, 'manywallets.html', { 'manywallets':manywallets, 'settings': settings })
diff --git a/templates/manywallets.html b/templates/manywallets.html
index 7a61dc4..46dd302 100644
--- a/templates/manywallets.html
+++ b/templates/manywallets.html
@@ -9,6 +9,10 @@
plans and elevations. It also contains scans of centre-line survex output on which
hand-drawn passage sections are drawn. These hand-drawn passages will eventually be
traced to produce Tunnel or Therion drawings and eventually the final complete cave survey.
+
+<!-- This should all be restructured to use .prefetch_related() and .select_related()
+see https://docs.djangoproject.com/en/3.2/ref/models/querysets/#prefetch-related
+-->
<table width=95%>
<tr><th>Scans folder</th><th>Files</th><th>Survex blocks</th><th>Cave</th></tr>
{% for scanswallet in manywallets %}