diff options
author | Philip Sargent <philip.sargent@klebos.com> | 2020-06-18 00:20:47 +0100 |
---|---|---|
committer | Philip Sargent <philip.sargent@klebos.com> | 2020-06-18 00:20:47 +0100 |
commit | ee92182163c76e52ce4ee520c101c92800ba2e4d (patch) | |
tree | 00f5d0433a88739a19318acabce0dc46965e3d9e /core/models_caves.py | |
parent | 55dd5772758115998c2cc42fdbbf1a8c5b3ef9d0 (diff) | |
download | troggle-ee92182163c76e52ce4ee520c101c92800ba2e4d.tar.gz troggle-ee92182163c76e52ce4ee520c101c92800ba2e4d.tar.bz2 troggle-ee92182163c76e52ce4ee520c101c92800ba2e4d.zip |
n_delete=... soon to be required
Diffstat (limited to 'core/models_caves.py')
-rw-r--r-- | core/models_caves.py | 66 |
1 files changed, 34 insertions, 32 deletions
diff --git a/core/models_caves.py b/core/models_caves.py index e4b3792..ca2ff25 100644 --- a/core/models_caves.py +++ b/core/models_caves.py @@ -25,7 +25,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) + parent = models.ForeignKey('Area', blank=True, null=True,on_delete=models.CASCADE) def __str__(self): if self.parent: return str(self.parent) + " - " + str(self.short_name) @@ -38,14 +38,14 @@ class Area(TroggleModel): return self.parent.kat_area() class CaveAndEntrance(models.Model): - cave = models.ForeignKey('Cave') - entrance = models.ForeignKey('Entrance') - entrance_letter = models.CharField(max_length=20,blank=True,null=True) + cave = models.ForeignKey('Cave',on_delete=models.CASCADE) + entrance = models.ForeignKey('Entrance',on_delete=models.CASCADE) + entrance_letter = models.CharField(max_length=20,blank=True, null=True) def __str__(self): return str(self.cave) + str(self.entrance_letter) class CaveSlug(models.Model): - cave = models.ForeignKey('Cave') + cave = models.ForeignKey('Cave',on_delete=models.CASCADE) slug = models.SlugField(max_length=50, unique = True) primary = models.BooleanField(default=False) @@ -53,7 +53,7 @@ class Cave(TroggleModel): # too much here perhaps, official_name = models.CharField(max_length=160) area = models.ManyToManyField(Area, blank=True) - kataster_code = models.CharField(max_length=20,blank=True,null=True) + 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) entrances = models.ManyToManyField('Entrance', through='CaveAndEntrance') @@ -65,12 +65,12 @@ class Cave(TroggleModel): 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) + 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: @@ -215,12 +215,12 @@ def getCaveByReference(reference): class OtherCaveName(TroggleModel): name = models.CharField(max_length=160) - cave = models.ForeignKey(Cave) + cave = models.ForeignKey(Cave,on_delete=models.CASCADE) def __str__(self): return str(self.name) class EntranceSlug(models.Model): - entrance = models.ForeignKey('Entrance') + entrance = models.ForeignKey('Entrance',on_delete=models.CASCADE) slug = models.SlugField(max_length=50, unique = True) primary = models.BooleanField(default=False) @@ -260,9 +260,9 @@ class Entrance(TroggleModel): 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) + 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) + cached_primary_slug = models.CharField(max_length=200,blank=True, null=True) def __str__(self): return str(self.slug()) @@ -415,11 +415,11 @@ 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)#MJG wants to KILL THIS (redundant information) - expedition = models.ForeignKey(Expedition,blank=True,null=True) # yes this is double- + 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- title = models.CharField(max_length=settings.MAX_LOGBOOK_ENTRY_TITLE_LENGTH) cave_slug = models.SlugField(max_length=50) - place = models.CharField(max_length=100,blank=True,null=True,help_text="Only use this if you haven't chosen a cave") + place = models.CharField(max_length=100,blank=True, null=True,help_text="Only use this if you haven't chosen a cave") text = models.TextField() slug = models.SlugField(max_length=50) filename = models.CharField(max_length=200,null=True) @@ -488,10 +488,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 ) - ticked_off_by = models.ForeignKey(LogbookEntry, related_name='QMs_ticked_off',null=True,blank=True) - #cave = models.ForeignKey(Cave) - #expedition = models.ForeignKey(Expedition) + 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) number = models.IntegerField(help_text="this is the sequential number in the year", ) GRADE_CHOICES=( @@ -503,10 +503,10 @@ class QM(TroggleModel): ) grade = models.CharField(max_length=1, choices=GRADE_CHOICES) location_description = models.TextField(blank=True) - nearest_station_description = models.CharField(max_length=400,null=True,blank=True) - nearest_station_name = models.CharField(max_length=200,blank=True,null=True) - nearest_station = models.ForeignKey(SurvexStation,null=True,blank=True) - area = models.CharField(max_length=100,blank=True,null=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) + 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) @@ -541,18 +541,20 @@ def get_scan_path(instance, filename): # Single Person going on a trip, which may or may not be written up (accounts for different T/U for people in same logbook entry) # class PersonTrip(TroggleModel): - personexpedition = models.ForeignKey("PersonExpedition",null=True) + personexpedition = models.ForeignKey("PersonExpedition",null=True,on_delete=models.CASCADE) - #expeditionday = models.ForeignKey("ExpeditionDay")#MJG wants to KILL THIS (redundant information) + #expeditionday = models.ForeignKey("ExpeditionDay",on_delete=models.CASCADE)#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) + logbook_entry = models.ForeignKey(LogbookEntry,on_delete=models.CASCADE) is_logbook_entry_author = models.BooleanField(default=False) # sequencing by person (difficult to solve locally) - #persontrip_next = models.ForeignKey('PersonTrip', related_name='pnext', blank=True,null=True)#MJG wants to KILL THIS (and use funstion persontrip_next_auto) - #persontrip_prev = models.ForeignKey('PersonTrip', related_name='pprev', blank=True,null=True)#MJG wants to KILL THIS(and use funstion persontrip_prev_auto) + #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) + #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) 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() |