summaryrefslogtreecommitdiffstats
path: root/core/models_caves.py
diff options
context:
space:
mode:
authorPhilip Sargent <philip.sargent@klebos.com>2020-06-18 00:20:47 +0100
committerPhilip Sargent <philip.sargent@klebos.com>2020-06-18 00:20:47 +0100
commitee92182163c76e52ce4ee520c101c92800ba2e4d (patch)
tree00f5d0433a88739a19318acabce0dc46965e3d9e /core/models_caves.py
parent55dd5772758115998c2cc42fdbbf1a8c5b3ef9d0 (diff)
downloadtroggle-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.py66
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()