From c91aa4be475fac06e6d4b55804fac4debc5c1dbf Mon Sep 17 00:00:00 2001 From: Philip Sargent Date: Wed, 24 Jun 2020 00:18:01 +0100 Subject: [PATCH] Simple renaming too-similar variables --- core/admin.py | 4 +- core/migrations/0001_initial.py | 34 +- core/models_survex.py | 17 +- core/view_surveys.py | 6 +- flatpages/migrations/0001_initial.py | 2 +- parsers/surveys.py | 10 +- ...cansfolders.html => manyscansfolders.html} | 2 +- ...urvexscansfolder.html => scansfolder.html} | 6 +- templates/tunnelfiles.html | 4 +- troggle-inspectdb.py | 553 ------------------ 10 files changed, 36 insertions(+), 602 deletions(-) rename templates/{survexscansfolders.html => manyscansfolders.html} (94%) rename templates/{survexscansfolder.html => scansfolder.html} (69%) diff --git a/core/admin.py b/core/admin.py index 2fc635a..1e2bbe6 100644 --- a/core/admin.py +++ b/core/admin.py @@ -7,7 +7,7 @@ from django.core import serializers from troggle.core.views_other import downloadLogbook from troggle.core.models import Person, PersonExpedition, Expedition, DataIssue from troggle.core.models_caves import Cave, Area, Entrance, CaveAndEntrance, NewSubCave, OtherCaveName, CaveDescription, LogbookEntry, PersonTrip, QM -from troggle.core.models_survex import SurvexBlock, SurvexPersonRole, SurvexStation, ScansFolder, SurvexScanSingle +from troggle.core.models_survex import SurvexBlock, SurvexPersonRole, SurvexStation, ScansFolder, SingleScan class TroggleModelAdmin(admin.ModelAdmin): @@ -121,7 +121,7 @@ admin.site.register(LogbookEntry, LogbookEntryAdmin) admin.site.register(QM, QMAdmin) admin.site.register(SurvexStation) admin.site.register(ScansFolder) -admin.site.register(SurvexScanSingle) +admin.site.register(SingleScan) admin.site.register(DataIssue) def export_as_json(modeladmin, request, queryset): diff --git a/core/migrations/0001_initial.py b/core/migrations/0001_initial.py index 6a8a847..d2b09f2 100644 --- a/core/migrations/0001_initial.py +++ b/core/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.29 on 2020-06-23 18:44 +# Generated by Django 1.11.29 on 2020-06-23 22:48 from __future__ import unicode_literals from django.conf import settings @@ -307,6 +307,18 @@ class Migration(migrations.Migration): 'ordering': ('walletname',), }, ), + migrations.CreateModel( + name='SingleScan', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('ffile', models.CharField(max_length=200)), + ('name', models.CharField(max_length=200)), + ('scansfolder', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='core.ScansFolder')), + ], + options={ + 'ordering': ('name',), + }, + ), migrations.CreateModel( name='SurvexBlock', fields=[ @@ -322,6 +334,7 @@ class Migration(migrations.Migration): ('expedition', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.Expedition')), ('expeditionday', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='core.ExpeditionDay')), ('parent', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.SurvexBlock')), + ('scansfolder', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='core.ScansFolder')), ], options={ 'ordering': ('id',), @@ -370,18 +383,6 @@ class Migration(migrations.Migration): ('survexblock', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='core.SurvexBlock')), ], ), - migrations.CreateModel( - name='SurvexScanSingle', - fields=[ - ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), - ('ffile', models.CharField(max_length=200)), - ('name', models.CharField(max_length=200)), - ('scansfolder', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='core.ScansFolder')), - ], - options={ - 'ordering': ('name',), - }, - ), migrations.CreateModel( name='SurvexStation', fields=[ @@ -414,7 +415,7 @@ class Migration(migrations.Migration): ('npaths', models.IntegerField(default=0)), ('manyscansfolders', models.ManyToManyField(to='core.ScansFolder')), ('survexblocks', models.ManyToManyField(to='core.SurvexBlock')), - ('survexscans', models.ManyToManyField(to='core.SurvexScanSingle')), + ('survexscans', models.ManyToManyField(to='core.SingleScan')), ('survextitles', models.ManyToManyField(to='core.SurvexTitle')), ('tunnelcontains', models.ManyToManyField(to='core.TunnelFile')), ], @@ -432,11 +433,6 @@ class Migration(migrations.Migration): name='survexfile', field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='core.SurvexFile'), ), - migrations.AddField( - model_name='survexblock', - name='scansfolder', - field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='core.ScansFolder'), - ), migrations.AddField( model_name='qm', name='nearest_station', diff --git a/core/models_survex.py b/core/models_survex.py index 2b99ddc..a5cda3d 100644 --- a/core/models_survex.py +++ b/core/models_survex.py @@ -81,15 +81,9 @@ class SurvexStation(models.Model): else: return r -# class SurvexLeg(models.Model): - # block = models.ForeignKey('SurvexBlock',on_delete=models.CASCADE) - # #title = models.ForeignKey('SurvexTitle',on_delete=models.CASCADE) - # stationfrom = models.ForeignKey('SurvexStation', related_name='stationfrom',on_delete=models.CASCADE) - # stationto = models.ForeignKey('SurvexStation', related_name='stationto',on_delete=models.CASCADE) - # tape = models.FloatField() - # compass = models.FloatField() - # clino = models.FloatField() class SurvexLeg(): + """No longer a models.Model subclass, so no longer a database table + """ tape = 0.0 compass = 0.0 clino = 0.0 @@ -112,7 +106,6 @@ class SurvexBlock(models.Model): objects = SurvexBlockLookUpManager() name = models.CharField(max_length=100) parent = models.ForeignKey('SurvexBlock', blank=True, null=True,on_delete=models.CASCADE) -# text = models.TextField() cave = models.ForeignKey('Cave', blank=True, null=True,on_delete=models.CASCADE) date = models.DateField(blank=True, null=True) @@ -120,11 +113,9 @@ class SurvexBlock(models.Model): expedition = models.ForeignKey('Expedition', blank=True, null=True,on_delete=models.CASCADE) survexfile = models.ForeignKey("SurvexFile", blank=True, null=True,on_delete=models.CASCADE) -# begin_char = models.IntegerField() # code for where in the survex data files this block sits survexpath = models.CharField(max_length=200) # the path for the survex stations scansfolder = models.ForeignKey("ScansFolder", null=True,on_delete=models.CASCADE) - #refscandir = models.CharField(max_length=100) legsall = models.IntegerField(null=True) # summary data for this block legssplay = models.IntegerField(null=True) # summary data for this block @@ -208,7 +199,7 @@ class ScansFolder(models.Model): def __str__(self): return str(self.walletname) + " (Survey Scans Folder)" -class SurvexScanSingle(models.Model): +class SingleScan(models.Model): ffile = models.CharField(max_length=200) name = models.CharField(max_length=200) scansfolder = models.ForeignKey("ScansFolder", null=True,on_delete=models.CASCADE) @@ -227,7 +218,7 @@ class TunnelFile(models.Model): tunnelname = models.CharField(max_length=200) bfontcolours = models.BooleanField(default=False) manyscansfolders = models.ManyToManyField("ScansFolder") - survexscans = models.ManyToManyField("SurvexScanSingle") + survexscans = models.ManyToManyField("SingleScan") survexblocks = models.ManyToManyField("SurvexBlock") tunnelcontains = models.ManyToManyField("TunnelFile") # case when its a frame type filesize = models.IntegerField(default=0) diff --git a/core/view_surveys.py b/core/view_surveys.py index 73c5790..c1fec57 100644 --- a/core/view_surveys.py +++ b/core/view_surveys.py @@ -6,7 +6,7 @@ from django.conf import settings from django.shortcuts import render_to_response from django.http import HttpResponse, Http404 -from troggle.core.models_survex import ScansFolder, SurvexScanSingle, SurvexBlock, TunnelFile +from troggle.core.models_survex import ScansFolder, SingleScan, SurvexBlock, TunnelFile from troggle.flatpages import views as flatviews import parsers.surveys #from . import fileAbstraction @@ -75,9 +75,9 @@ def surveyscansfolder(request, path): def surveyscansingle(request, path, file): scansfolder = ScansFolder.objects.get(walletname=urllib.parse.unquote(path)) - survexscansingle = SurvexScanSingle.objects.get(scansfolder=scansfolder, name=file) + singlescan = SingleScan.objects.get(scansfolder=scansfolder, name=file) print("SSS {} {} :{}:".format(path, file, flatviews.getmimetype(file))) - return HttpResponse(content=open(survexscansingle.ffile,"rb"), content_type=flatviews.getmimetype(file)) + return HttpResponse(content=open(singlescan.ffile,"rb"), content_type=flatviews.getmimetype(file)) #return render_to_response('scansfolder.html', { 'scansfolder':scansfolder, 'settings': settings }) def expofilessingle(request, filepath): diff --git a/flatpages/migrations/0001_initial.py b/flatpages/migrations/0001_initial.py index 81259b8..6252c37 100644 --- a/flatpages/migrations/0001_initial.py +++ b/flatpages/migrations/0001_initial.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Generated by Django 1.11.29 on 2020-06-23 18:44 +# Generated by Django 1.11.29 on 2020-06-23 22:48 from __future__ import unicode_literals from django.db import migrations, models diff --git a/parsers/surveys.py b/parsers/surveys.py index 56db0fa..1999fb5 100644 --- a/parsers/surveys.py +++ b/parsers/surveys.py @@ -14,7 +14,7 @@ from functools import reduce import settings #from troggle.core.models import * #from troggle.core.models_caves import * -from troggle.core.models_survex import SurvexScanSingle, ScansFolder, TunnelFile +from troggle.core.models_survex import SingleScan, ScansFolder, TunnelFile def get_or_create_placeholder(year): """ All surveys must be related to a logbookentry. We don't have a way to @@ -65,8 +65,8 @@ def LoadListScansFile(scansfolder): for (fyf, ffyf, fisdiryf) in gld: #assert not fisdiryf, ffyf if re.search(r"\.(?:png|jpg|jpeg|pdf|svg|gif)(?i)$", fyf): - survexscansingle = SurvexScanSingle(ffile=ffyf, name=fyf, scansfolder=scansfolder) - survexscansingle.save() + singlescan = SingleScan(ffile=ffyf, name=fyf, scansfolder=scansfolder) + singlescan.save() c+=1 if c>=10: print(".", end='') @@ -79,7 +79,7 @@ def LoadListScans(): print(' - Loading Survey Scans') - SurvexScanSingle.objects.all().delete() + SingleScan.objects.all().delete() ScansFolder.objects.all().delete() print(' - deleting all scansFolder and scansSingle objects') @@ -123,7 +123,7 @@ def FindTunnelScan(tunnelfile, path): assert len(scansfolderl) == 1 scansfolder = scansfolderl[0] if scansfolder: - scansfilel = scansfolder.survexscansingle_set.filter(name=mscansdir.group(2)) + scansfilel = scansfolder.singlescan_set.filter(name=mscansdir.group(2)) if len(scansfilel): if len(scansfilel) > 1: print("BORK more than one image filename matches filter query. ", scansfilel[0]) diff --git a/templates/survexscansfolders.html b/templates/manyscansfolders.html similarity index 94% rename from templates/survexscansfolders.html rename to templates/manyscansfolders.html index d1c16b7..00f5bdc 100644 --- a/templates/survexscansfolders.html +++ b/templates/manyscansfolders.html @@ -16,7 +16,7 @@ traced to produce Tunnel or Therion drawings and eventually the final complete c {% for scansfolder in manyscansfolders %} {{scansfolder.walletname}} - {{scansfolder.survexscansingle_set.all|length}} + {{scansfolder.singlescan_set.all|length}} {% for survexblock in scansfolder.survexblock_set.all %} {{survexblock}} diff --git a/templates/survexscansfolder.html b/templates/scansfolder.html similarity index 69% rename from templates/survexscansfolder.html rename to templates/scansfolder.html index e82b1f6..09491b4 100644 --- a/templates/survexscansfolder.html +++ b/templates/scansfolder.html @@ -8,11 +8,11 @@

Survey Scans in: {{scansfolder.walletname}}

-{% for survexscansingle in scansfolder.survexscansingle_set.all %} +{% for singlescan in scansfolder.singlescan_set.all %} - + diff --git a/templates/tunnelfiles.html b/templates/tunnelfiles.html index 0d73794..52a6895 100644 --- a/templates/tunnelfiles.html +++ b/templates/tunnelfiles.html @@ -23,8 +23,8 @@ diff --git a/troggle-inspectdb.py b/troggle-inspectdb.py index a605324..c7a2514 100644 --- a/troggle-inspectdb.py +++ b/troggle-inspectdb.py @@ -15,556 +15,3 @@ from __future__ import unicode_literals from django.db import models - - -class AuthGroup(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - name = models.CharField(unique=True, max_length=80) - - class Meta: - managed = False - db_table = 'auth_group' -# Unable to inspect table 'auth_group_permissions' -# The error was: list index out of range - - -class AuthPermission(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - content_type = models.ForeignKey('DjangoContentType', models.DO_NOTHING) - codename = models.CharField(max_length=100) - name = models.CharField(max_length=255) - - class Meta: - managed = False - db_table = 'auth_permission' - unique_together = (('content_type', 'codename'),) - - -class AuthUser(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - password = models.CharField(max_length=128) - last_login = models.DateTimeField(blank=True, null=True) - is_superuser = models.BooleanField() - first_name = models.CharField(max_length=30) - last_name = models.CharField(max_length=30) - email = models.CharField(max_length=254) - is_staff = models.BooleanField() - is_active = models.BooleanField() - date_joined = models.DateTimeField() - username = models.CharField(unique=True, max_length=150) - - class Meta: - managed = False - db_table = 'auth_user' -# Unable to inspect table 'auth_user_groups' -# The error was: list index out of range -# Unable to inspect table 'auth_user_user_permissions' -# The error was: list index out of range - - -class CoreArea(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - new_since_parsing = models.BooleanField() - non_public = models.BooleanField() - short_name = models.CharField(max_length=100) - name = models.CharField(max_length=200, blank=True, null=True) - description = models.TextField(blank=True, null=True) - parent = models.ForeignKey('self', models.DO_NOTHING, blank=True, null=True) - - class Meta: - managed = False - db_table = 'core_area' - - -class CoreCave(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - new_since_parsing = models.BooleanField() - non_public = models.BooleanField() - official_name = models.CharField(max_length=160) - kataster_code = models.CharField(max_length=20, blank=True, null=True) - kataster_number = models.CharField(max_length=10, blank=True, null=True) - unofficial_number = models.CharField(max_length=60, blank=True, null=True) - explorers = models.TextField(blank=True, null=True) - underground_description = models.TextField(blank=True, null=True) - equipment = models.TextField(blank=True, null=True) - references = models.TextField(blank=True, null=True) - survey = models.TextField(blank=True, null=True) - kataster_status = models.TextField(blank=True, null=True) - underground_centre_line = models.TextField(blank=True, null=True) - notes = models.TextField(blank=True, null=True) - length = models.CharField(max_length=100, blank=True, null=True) - depth = models.CharField(max_length=100, blank=True, null=True) - extent = models.CharField(max_length=100, blank=True, null=True) - survex_file = models.CharField(max_length=100, blank=True, null=True) - description_file = models.CharField(max_length=200, blank=True, null=True) - url = models.CharField(max_length=200, blank=True, null=True) - filename = models.CharField(max_length=200) - - class Meta: - managed = False - db_table = 'core_cave' - - -class CoreCaveArea(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - cave = models.ForeignKey(CoreCave, models.DO_NOTHING) - area = models.ForeignKey(CoreArea, models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'core_cave_area' - unique_together = (('cave', 'area'),) - - -class CoreCaveandentrance(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - entrance_letter = models.CharField(max_length=20, blank=True, null=True) - cave = models.ForeignKey(CoreCave, models.DO_NOTHING) - entrance = models.ForeignKey('CoreEntrance', models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'core_caveandentrance' - - -class CoreCavedescription(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - new_since_parsing = models.BooleanField() - non_public = models.BooleanField() - short_name = models.CharField(unique=True, max_length=50) - long_name = models.CharField(max_length=200, blank=True, null=True) - description = models.TextField(blank=True, null=True) - - class Meta: - managed = False - db_table = 'core_cavedescription' - - -class CoreCavedescriptionLinkedEntrances(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - cavedescription = models.ForeignKey(CoreCavedescription, models.DO_NOTHING) - entrance = models.ForeignKey('CoreEntrance', models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'core_cavedescription_linked_entrances' - unique_together = (('cavedescription', 'entrance'),) - - -class CoreCavedescriptionLinkedQms(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - cavedescription = models.ForeignKey(CoreCavedescription, models.DO_NOTHING) - qm = models.ForeignKey('CoreQm', models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'core_cavedescription_linked_qms' - unique_together = (('cavedescription', 'qm'),) - - -class CoreCavedescriptionLinkedSubcaves(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - cavedescription = models.ForeignKey(CoreCavedescription, models.DO_NOTHING) - newsubcave = models.ForeignKey('CoreNewsubcave', models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'core_cavedescription_linked_subcaves' - unique_together = (('cavedescription', 'newsubcave'),) - - -class CoreCaveslug(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - slug = models.CharField(unique=True, max_length=50) - primary = models.BooleanField() - cave = models.ForeignKey(CoreCave, models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'core_caveslug' - - -class CoreDataissue(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - new_since_parsing = models.BooleanField() - non_public = models.BooleanField() - date = models.DateTimeField() - parser = models.CharField(max_length=50, blank=True, null=True) - message = models.CharField(max_length=400, blank=True, null=True) - - class Meta: - managed = False - db_table = 'core_dataissue' - - -class CoreEntrance(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - new_since_parsing = models.BooleanField() - non_public = models.BooleanField() - name = models.CharField(max_length=100, blank=True, null=True) - entrance_description = models.TextField(blank=True, null=True) - explorers = models.TextField(blank=True, null=True) - map_description = models.TextField(blank=True, null=True) - location_description = models.TextField(blank=True, null=True) - approach = models.TextField(blank=True, null=True) - underground_description = models.TextField(blank=True, null=True) - photo = models.TextField(blank=True, null=True) - marking = models.CharField(max_length=2) - marking_comment = models.TextField(blank=True, null=True) - findability = models.CharField(max_length=1, blank=True, null=True) - findability_description = models.TextField(blank=True, null=True) - alt = models.TextField(blank=True, null=True) - northing = models.TextField(blank=True, null=True) - easting = models.TextField(blank=True, null=True) - tag_station = models.TextField(blank=True, null=True) - exact_station = models.TextField(blank=True, null=True) - other_station = models.TextField(blank=True, null=True) - other_description = models.TextField(blank=True, null=True) - bearings = models.TextField(blank=True, null=True) - url = models.CharField(max_length=200, blank=True, null=True) - filename = models.CharField(max_length=200) - cached_primary_slug = models.CharField(max_length=200, blank=True, null=True) - - class Meta: - managed = False - db_table = 'core_entrance' - - -class CoreEntranceslug(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - slug = models.CharField(unique=True, max_length=50) - primary = models.BooleanField() - entrance = models.ForeignKey(CoreEntrance, models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'core_entranceslug' - - -class CoreExpedition(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - new_since_parsing = models.BooleanField() - non_public = models.BooleanField() - year = models.CharField(unique=True, max_length=20) - name = models.CharField(max_length=100) - - class Meta: - managed = False - db_table = 'core_expedition' - - -class CoreExpeditionday(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - new_since_parsing = models.BooleanField() - non_public = models.BooleanField() - date = models.DateField() - expedition = models.ForeignKey(CoreExpedition, models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'core_expeditionday' - - -class CoreLogbookentry(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - new_since_parsing = models.BooleanField() - non_public = models.BooleanField() - date = models.DateField() - title = models.CharField(max_length=200) - cave_slug = models.CharField(max_length=50, blank=True, null=True) - place = models.CharField(max_length=100, blank=True, null=True) - text = models.TextField() - slug = models.CharField(max_length=50) - filename = models.CharField(max_length=200, blank=True, null=True) - entry_type = models.CharField(max_length=50, blank=True, null=True) - expedition = models.ForeignKey(CoreExpedition, models.DO_NOTHING, blank=True, null=True) - expeditionday = models.ForeignKey(CoreExpeditionday, models.DO_NOTHING, blank=True, null=True) - - class Meta: - managed = False - db_table = 'core_logbookentry' - - -class CoreNewsubcave(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - new_since_parsing = models.BooleanField() - non_public = models.BooleanField() - name = models.CharField(unique=True, max_length=200) - - class Meta: - managed = False - db_table = 'core_newsubcave' - - -class CoreOthercavename(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - new_since_parsing = models.BooleanField() - non_public = models.BooleanField() - name = models.CharField(max_length=160) - cave = models.ForeignKey(CoreCave, models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'core_othercavename' - - -class CorePerson(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - new_since_parsing = models.BooleanField() - non_public = models.BooleanField() - first_name = models.CharField(max_length=100) - last_name = models.CharField(max_length=100) - fullname = models.CharField(max_length=200) - is_vfho = models.BooleanField() - mug_shot = models.CharField(max_length=100, blank=True, null=True) - blurb = models.TextField(blank=True, null=True) - orderref = models.CharField(max_length=200) - user = models.ForeignKey(AuthUser, models.DO_NOTHING, unique=True, blank=True, null=True) - - class Meta: - managed = False - db_table = 'core_person' - - -class CorePersonexpedition(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - new_since_parsing = models.BooleanField() - non_public = models.BooleanField() - slugfield = models.CharField(max_length=50, blank=True, null=True) - is_guest = models.BooleanField() - expo_committee_position = models.CharField(max_length=200, blank=True, null=True) - nickname = models.CharField(max_length=100, blank=True, null=True) - expedition = models.ForeignKey(CoreExpedition, models.DO_NOTHING) - person = models.ForeignKey(CorePerson, models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'core_personexpedition' - - -class CorePersontrip(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - new_since_parsing = models.BooleanField() - non_public = models.BooleanField() - time_underground = models.FloatField() - is_logbook_entry_author = models.BooleanField() - logbook_entry = models.ForeignKey(CoreLogbookentry, models.DO_NOTHING) - personexpedition = models.ForeignKey(CorePersonexpedition, models.DO_NOTHING, blank=True, null=True) - - class Meta: - managed = False - db_table = 'core_persontrip' - - -class CoreQm(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - new_since_parsing = models.BooleanField() - non_public = models.BooleanField() - number = models.IntegerField() - grade = models.CharField(max_length=1) - location_description = models.TextField() - nearest_station_description = models.CharField(max_length=400, blank=True, null=True) - nearest_station_name = models.CharField(max_length=200, blank=True, null=True) - area = models.CharField(max_length=100, blank=True, null=True) - completion_description = models.TextField(blank=True, null=True) - comment = models.TextField(blank=True, null=True) - found_by = models.ForeignKey(CoreLogbookentry, models.DO_NOTHING, blank=True, null=True) - nearest_station = models.ForeignKey('CoreSurvexstation', models.DO_NOTHING, blank=True, null=True) - ticked_off_by = models.ForeignKey(CoreLogbookentry, models.DO_NOTHING, blank=True, null=True) - - class Meta: - managed = False - db_table = 'core_qm' - - -class CoreSurvexblock(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - name = models.CharField(max_length=100) - date = models.DateField(blank=True, null=True) - survexpath = models.CharField(max_length=200) - legsall = models.IntegerField(blank=True, null=True) - legssplay = models.IntegerField(blank=True, null=True) - legssurfc = models.IntegerField(blank=True, null=True) - totalleglength = models.FloatField(blank=True, null=True) - cave = models.ForeignKey(CoreCave, models.DO_NOTHING, blank=True, null=True) - expedition = models.ForeignKey(CoreExpedition, models.DO_NOTHING, blank=True, null=True) - expeditionday = models.ForeignKey(CoreExpeditionday, models.DO_NOTHING, blank=True, null=True) - survexfile = models.ForeignKey('CoreSurvexfile', models.DO_NOTHING, blank=True, null=True) - scansfolder = models.ForeignKey('CoreSurvexscansfolder', models.DO_NOTHING, blank=True, null=True) - parent = models.ForeignKey('self', models.DO_NOTHING, blank=True, null=True) - - class Meta: - managed = False - db_table = 'core_survexblock' - - -class CoreSurvexdirectory(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - path = models.CharField(max_length=200) - cave = models.ForeignKey(CoreCave, models.DO_NOTHING, blank=True, null=True) - primarysurvexfile = models.ForeignKey('CoreSurvexfile', models.DO_NOTHING, blank=True, null=True) - - class Meta: - managed = False - db_table = 'core_survexdirectory' - - -class CoreSurvexequate(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - cave = models.ForeignKey(CoreCave, models.DO_NOTHING, blank=True, null=True) - - class Meta: - managed = False - db_table = 'core_survexequate' -# Unable to inspect table 'core_survexfile' -# The error was: list index out of range -# Unable to inspect table 'core_survexpersonrole' -# The error was: list index out of range - - -class CoreSurvexscansfolder(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - fpath = models.CharField(max_length=200) - walletname = models.CharField(max_length=200) - - class Meta: - managed = False - db_table = 'core_scansfolder' - - -class CoreSurvexscansingle(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - ffile = models.CharField(max_length=200) - name = models.CharField(max_length=200) - scansfolder = models.ForeignKey(CoreSurvexscansfolder, models.DO_NOTHING, blank=True, null=True) - - class Meta: - managed = False - db_table = 'core_survexscansingle' -# Unable to inspect table 'core_survexstation' -# The error was: list index out of range -# Unable to inspect table 'core_survextitle' -# The error was: list index out of range - - -class CoreTunnelfile(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - tunnelpath = models.CharField(max_length=200) - tunnelname = models.CharField(max_length=200) - bfontcolours = models.BooleanField() - filesize = models.IntegerField() - npaths = models.IntegerField() - - class Meta: - managed = False - db_table = 'core_tunnelfile' -# Unable to inspect table 'core_tunnelfile_survexblocks' -# The error was: list index out of range - - -class CoreTunnelfileSurvexscans(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - tunnelfile = models.ForeignKey(CoreTunnelfile, models.DO_NOTHING) - survexscansingle = models.ForeignKey(CoreSurvexscansingle, models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'core_tunnelfile_survexscans' - unique_together = (('tunnelfile', 'survexscansingle'),) - - -class CoreTunnelfileSurvexscansfolders(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - tunnelfile = models.ForeignKey(CoreTunnelfile, models.DO_NOTHING) - scansfolder = models.ForeignKey(CoreSurvexscansfolder, models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'core_tunnelfile_scansfolders' - unique_together = (('tunnelfile', 'scansfolder'),) - - -class CoreTunnelfileSurvextitles(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - tunnelfile = models.ForeignKey(CoreTunnelfile, models.DO_NOTHING) - survextitle = models.ForeignKey('CoreSurvextitle', models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'core_tunnelfile_survextitles' - unique_together = (('tunnelfile', 'survextitle'),) - - -class CoreTunnelfileTunnelcontains(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - from_tunnelfile = models.ForeignKey(CoreTunnelfile, models.DO_NOTHING) - to_tunnelfile = models.ForeignKey(CoreTunnelfile, models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'core_tunnelfile_tunnelcontains' - unique_together = (('from_tunnelfile', 'to_tunnelfile'),) -# Unable to inspect table 'django_admin_log' -# The error was: list index out of range - - -class DjangoContentType(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - app_label = models.CharField(max_length=100) - model = models.CharField(max_length=100) - - class Meta: - managed = False - db_table = 'django_content_type' - unique_together = (('app_label', 'model'),) - - -class DjangoMigrations(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - app = models.CharField(max_length=255) - name = models.CharField(max_length=255) - applied = models.DateTimeField() - - class Meta: - managed = False - db_table = 'django_migrations' - - -class DjangoSession(models.Model): - session_key = models.CharField(primary_key=True, max_length=40) - session_data = models.TextField() - expire_date = models.DateTimeField() - - class Meta: - managed = False - db_table = 'django_session' - - -class FlatpagesEntranceredirect(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - originalurl = models.CharField(db_column='originalURL', max_length=200) # Field name made lowercase. - entrance = models.ForeignKey(CoreEntrance, models.DO_NOTHING) - - class Meta: - managed = False - db_table = 'flatpages_entranceredirect' - - -class FlatpagesRedirect(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - originalurl = models.CharField(db_column='originalURL', unique=True, max_length=200) # Field name made lowercase. - newurl = models.CharField(db_column='newURL', max_length=200) # Field name made lowercase. - - class Meta: - managed = False - db_table = 'flatpages_redirect' - - -class RegistrationRegistrationprofile(models.Model): - id = models.IntegerField(primary_key=True) # AutoField? - activation_key = models.CharField(max_length=40) - user = models.ForeignKey(AuthUser, models.DO_NOTHING, unique=True) - - class Meta: - managed = False - db_table = 'registration_registrationprofile'
{{survexscansingle.name}}{{singlescan.name}} - {% for survexblock in survexscansingle.survexblock_set.all %} + {% for survexblock in singlescan.survexblock_set.all %} {{survexblock}} {% endfor %} - {% for survexscansingle in tunnelfile.survexscans.all %} - {{survexscansingle.name}} + {% for singlescan in tunnelfile.survexscans.all %} + {{singlescan.name}} {% endfor %}