summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/models_caves.py36
-rw-r--r--core/models_survex.py38
2 files changed, 32 insertions, 42 deletions
diff --git a/core/models_caves.py b/core/models_caves.py
index 60a62a9..1f11c09 100644
--- a/core/models_caves.py
+++ b/core/models_caves.py
@@ -26,7 +26,7 @@ class Area(TroggleModel):
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('Area', blank=True, null=True,on_delete=models.CASCADE)
+ parent = models.ForeignKey('Area', blank=True, null=True,on_delete=models.SET_NULL)
def __str__(self):
if self.parent:
return str(self.parent) + " - " + str(self.short_name)
@@ -202,17 +202,6 @@ class Cave(TroggleModel):
pass
return lowestareas[0]
-# This seems to be peculiarly broken, and is now replaced for logbooks.
-# def getCaveByReference(reference):
- # areaname, code = reference.split("-", 1)
- # area = Area.objects.get(short_name = areaname)
- # foundCaves = list(Cave.objects.filter(area = area, kataster_number = code).all()) + list(Cave.objects.filter(area = area, unofficial_number = code).all())
- # #print((list(foundCaves)))
- # if len(foundCaves) == 1:
- # return foundCaves[0]
- # else:
- # return False
-
class OtherCaveName(TroggleModel):
name = models.CharField(max_length=160)
cave = models.ForeignKey(Cave,on_delete=models.CASCADE)
@@ -415,8 +404,8 @@ class LogbookEntry(TroggleModel):
)
date = models.DateField()#MJG wants to turn this into a datetime such that multiple Logbook entries on the same day can be ordered.ld()
- expeditionday = models.ForeignKey("ExpeditionDay", null=True,on_delete=models.CASCADE)#MJG wants to KILL THIS (redundant information)
- expedition = models.ForeignKey(Expedition,blank=True, null=True,on_delete=models.CASCADE) # yes this is double-
+ expeditionday = models.ForeignKey("ExpeditionDay", null=True,on_delete=models.SET_NULL)#MJG wants to KILL THIS (redundant information)
+ expedition = models.ForeignKey(Expedition,blank=True, null=True,on_delete=models.SET_NULL) # yes this is double-
title = models.CharField(max_length=settings.MAX_LOGBOOK_ENTRY_TITLE_LENGTH)
cave_slug = models.SlugField(max_length=50, blank=True, null=True)
place = models.CharField(max_length=100,blank=True, null=True,help_text="Only use this if you haven't chosen a cave")
@@ -488,10 +477,10 @@ class LogbookEntry(TroggleModel):
class QM(TroggleModel):
# based on qm.csv in trunk/expoweb/1623/204 which has the fields:
#"Number","Grade","Area","Description","Page reference","Nearest station","Completion description","Comment"
- found_by = models.ForeignKey(LogbookEntry, related_name='QMs_found',blank=True, null=True,on_delete=models.CASCADE )
- ticked_off_by = models.ForeignKey(LogbookEntry, related_name='QMs_ticked_off',blank=True, null=True,on_delete=models.CASCADE)
- #cave = models.ForeignKey(Cave,on_delete=models.CASCADE)
- #expedition = models.ForeignKey(Expedition,on_delete=models.CASCADE)
+ found_by = models.ForeignKey(LogbookEntry, related_name='QMs_found',blank=True, null=True,on_delete=models.SET_NULL )
+ ticked_off_by = models.ForeignKey(LogbookEntry, related_name='QMs_ticked_off',blank=True, null=True,on_delete=models.SET_NULL)
+ #cave = models.ForeignKey(Cave,on_delete=models.SET_NULL)
+ #expedition = models.ForeignKey(Expedition,on_delete=models.SET_NULL)
number = models.IntegerField(help_text="this is the sequential number in the year", )
GRADE_CHOICES=(
@@ -505,7 +494,7 @@ class QM(TroggleModel):
location_description = models.TextField(blank=True)
nearest_station_description = models.CharField(max_length=400,blank=True, null=True)
nearest_station_name = models.CharField(max_length=200,blank=True, null=True)
- nearest_station = models.ForeignKey(SurvexStation,blank=True, null=True,on_delete=models.CASCADE)
+ nearest_station = models.ForeignKey(SurvexStation,blank=True, null=True,on_delete=models.SET_NULL)
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)
@@ -543,7 +532,7 @@ def get_scan_path(instance, filename):
class PersonTrip(TroggleModel):
personexpedition = models.ForeignKey("PersonExpedition",null=True,on_delete=models.CASCADE)
- #expeditionday = models.ForeignKey("ExpeditionDay",on_delete=models.CASCADE)#MJG wants to KILL THIS (redundant information)
+ #expeditionday = models.ForeignKey("ExpeditionDay",on_delete=models.SET_NULL)#MJG wants to KILL THIS (redundant information)
#date = models.DateField() #MJG wants to KILL THIS (redundant information)
time_underground = models.FloatField(help_text="In decimal hours")
logbook_entry = models.ForeignKey(LogbookEntry,on_delete=models.CASCADE)
@@ -552,9 +541,9 @@ class PersonTrip(TroggleModel):
# sequencing by person (difficult to solve locally)
#persontrip_next = models.ForeignKey('PersonTrip', related_name='pnext',
- #blank=True,null=True,on_delete=models.CASCADE)#MJG wants to KILL THIS (and use funstion persontrip_next_auto)
+ #blank=True,null=True,on_delete=models.SET_NULL)#MJG wants to KILL THIS (and use funstion persontrip_next_auto)
#persontrip_prev = models.ForeignKey('PersonTrip', related_name='pprev',
- #blank=True,null=True,on_delete=models.CASCADE)#MJG wants to KILL THIS(and use funstion persontrip_prev_auto)
+ #blank=True,null=True,on_delete=models.SET_NULL)#MJG wants to KILL THIS(and use funstion persontrip_prev_auto)
def persontrip_next(self):
futurePTs = PersonTrip.objects.filter(personexpedition = self.personexpedition, logbook_entry__date__gt = self.logbook_entry.date).order_by('logbook_entry__date').all()
@@ -699,8 +688,10 @@ def GetCaveLookup():
Gcavelookup["2011-01-bs30"] = Gcavelookup["190"]
Gcavelookup["bs30"] = Gcavelookup["190"]
+ Gcavelookup["87"] = Gcavelookup["190"]
Gcavelookup["2011-01"] = Gcavelookup["190"]
+ Gcavelookup["quarriesd"] = Gcavelookup["2002-08"]
Gcavelookup["2002-x11"] = Gcavelookup["2005-08"]
Gcavelookup["2002-x12"] = Gcavelookup["2005-07"]
Gcavelookup["2002-x13"] = Gcavelookup["2005-06"]
@@ -733,7 +724,6 @@ def GetCaveLookup():
if not Gcavelookup[id]:
pass
elif Gcavelookup[id].kataster_number:
- #print(Gcavelookup[id], file=sys.stderr)
addmore[id] = Gcavelookup[id].kataster_number
elif Gcavelookup[id].unofficial_number:
addmore[id] = Gcavelookup[id].unofficial_number.lower()
diff --git a/core/models_survex.py b/core/models_survex.py
index 4f53993..d732130 100644
--- a/core/models_survex.py
+++ b/core/models_survex.py
@@ -9,8 +9,8 @@ from django.urls import reverse
class SurvexDirectory(models.Model):
path = models.CharField(max_length=200)
- cave = models.ForeignKey('Cave', blank=True, null=True,on_delete=models.CASCADE)
- primarysurvexfile = models.ForeignKey('SurvexFile', related_name='primarysurvexfile', blank=True, null=True,on_delete=models.CASCADE)
+ cave = models.ForeignKey('Cave', blank=True, null=True,on_delete=models.SET_NULL)
+ primarysurvexfile = models.ForeignKey('SurvexFile', related_name='primarysurvexfile', blank=True, null=True,on_delete=models.SET_NULL)
# could also include files in directory but not referenced
class Meta:
@@ -24,8 +24,8 @@ class SurvexDirectory(models.Model):
class SurvexFile(models.Model):
path = models.CharField(max_length=200)
- survexdirectory = models.ForeignKey("SurvexDirectory", blank=True, null=True,on_delete=models.CASCADE)
- cave = models.ForeignKey('Cave', blank=True, null=True,on_delete=models.CASCADE)
+ survexdirectory = models.ForeignKey("SurvexDirectory", blank=True, null=True,on_delete=models.SET_NULL)
+ cave = models.ForeignKey('Cave', blank=True, null=True,on_delete=models.SET_NULL)
class Meta:
ordering = ('id',)
@@ -64,8 +64,8 @@ class SurvexStationLookUpManager(models.Manager):
class SurvexStation(models.Model):
name = models.CharField(max_length=100)
- block = models.ForeignKey('SurvexBlock',on_delete=models.CASCADE)
-# equate = models.ForeignKey('SurvexEquate', blank=True, null=True,on_delete=models.CASCADE)
+ block = models.ForeignKey('SurvexBlock', null=True,on_delete=models.SET_NULL)
+# equate = models.ForeignKey('SurvexEquate', blank=True, null=True,on_delete=models.SET_NULL)
objects = SurvexStationLookUpManager()
x = models.FloatField(blank=True, null=True)
y = models.FloatField(blank=True, null=True)
@@ -99,17 +99,17 @@ class SurvexBlockLookUpManager(models.Manager):
class SurvexBlock(models.Model):
objects = SurvexBlockLookUpManager()
name = models.CharField(max_length=100)
- parent = models.ForeignKey('SurvexBlock', blank=True, null=True,on_delete=models.CASCADE)
- cave = models.ForeignKey('Cave', blank=True, null=True,on_delete=models.CASCADE)
+ parent = models.ForeignKey('SurvexBlock', blank=True, null=True,on_delete=models.SET_NULL)
+ cave = models.ForeignKey('Cave', blank=True, null=True,on_delete=models.SET_NULL)
date = models.DateField(blank=True, null=True)
- expeditionday = models.ForeignKey("ExpeditionDay", null=True,on_delete=models.CASCADE)
- expedition = models.ForeignKey('Expedition', blank=True, null=True,on_delete=models.CASCADE)
+ expeditionday = models.ForeignKey("ExpeditionDay", null=True,on_delete=models.SET_NULL)
+ expedition = models.ForeignKey('Expedition', blank=True, null=True,on_delete=models.SET_NULL)
- survexfile = models.ForeignKey("SurvexFile", blank=True, null=True,on_delete=models.CASCADE)
+ survexfile = models.ForeignKey("SurvexFile", blank=True, null=True,on_delete=models.SET_NULL)
survexpath = models.CharField(max_length=200) # the path for the survex stations
- scansfolder = models.ForeignKey("ScansFolder", null=True,on_delete=models.CASCADE)
+ scansfolder = models.ForeignKey("ScansFolder", null=True,on_delete=models.SET_NULL)
legsall = models.IntegerField(null=True) # summary data for this block
legssplay = models.IntegerField(null=True) # summary data for this block
@@ -146,9 +146,9 @@ class SurvexBlock(models.Model):
return list(self.expeditionday.survexblock_set.all()).index(self)
class SurvexTitle(models.Model):
- survexblock = models.ForeignKey('SurvexBlock',on_delete=models.CASCADE)
+ survexblock = models.ForeignKey('SurvexBlock',null=True, on_delete=models.SET_NULL)
title = models.CharField(max_length=200) # needed by svxcavesingle.html template
- cave = models.ForeignKey('Cave', blank=True, null=True,on_delete=models.CASCADE)
+ cave = models.ForeignKey('Cave', blank=True, null=True,on_delete=models.SET_NULL)
#
# member of a SurvexBlock
@@ -170,10 +170,10 @@ class SurvexPersonRole(models.Model):
nrole = models.CharField(choices=ROLE_CHOICES, max_length=200, blank=True, null=True)
# increasing levels of precision
personname = models.CharField(max_length=100)
- person = models.ForeignKey('Person', blank=True, null=True,on_delete=models.CASCADE)
- personexpedition = models.ForeignKey('PersonExpedition', blank=True, null=True,on_delete=models.CASCADE)
- persontrip = models.ForeignKey('PersonTrip', blank=True, null=True,on_delete=models.CASCADE)
- expeditionday = models.ForeignKey("ExpeditionDay", null=True,on_delete=models.CASCADE)
+ person = models.ForeignKey('Person', blank=True, null=True,on_delete=models.SET_NULL)
+ personexpedition = models.ForeignKey('PersonExpedition', blank=True, null=True,on_delete=models.SET_NULL)
+ persontrip = models.ForeignKey('PersonTrip', blank=True, null=True,on_delete=models.SET_NULL)
+ expeditionday = models.ForeignKey("ExpeditionDay", null=True,on_delete=models.SET_NULL)
def __str__(self):
return str(self.person) + " - " + str(self.survexblock) + " - " + str(self.nrole)
@@ -194,7 +194,7 @@ class ScansFolder(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)
+ scansfolder = models.ForeignKey("ScansFolder", null=True,on_delete=models.SET_NULL)
class Meta:
ordering = ('name',)