summaryrefslogtreecommitdiffstats
path: root/core/models/caves.py
diff options
context:
space:
mode:
authorMartin Green <martin.speleo@gmail.com>2023-04-30 18:58:41 +0100
committerMartin Green <martin.speleo@gmail.com>2023-04-30 18:58:41 +0100
commit31a60ce85c07fd37d0f6c52f33cedbcaaf17bd13 (patch)
treee5b45b5259ee2ef7c669eead30a488b7a0e1bc2c /core/models/caves.py
parent0a3a6934c407b7df537f97f33855802b72a2c15e (diff)
downloadtroggle-31a60ce85c07fd37d0f6c52f33cedbcaaf17bd13.tar.gz
troggle-31a60ce85c07fd37d0f6c52f33cedbcaaf17bd13.tar.bz2
troggle-31a60ce85c07fd37d0f6c52f33cedbcaaf17bd13.zip
For a cave, force users to enter are and have a unique URL. Cope better if area not defined
Diffstat (limited to 'core/models/caves.py')
-rw-r--r--core/models/caves.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/core/models/caves.py b/core/models/caves.py
index 1155f81..91453fc 100644
--- a/core/models/caves.py
+++ b/core/models/caves.py
@@ -81,7 +81,7 @@ class CaveAndEntrance(models.Model):
class Cave(TroggleModel):
# too much here perhaps,
- area = models.ManyToManyField(Area, blank=True)
+ area = models.ManyToManyField(Area, blank=False)
depth = models.CharField(max_length=100, blank=True, null=True)
description_file = models.CharField(max_length=200, blank=True, null=True)
entrances = models.ManyToManyField("Entrance", through="CaveAndEntrance")
@@ -101,7 +101,7 @@ class Cave(TroggleModel):
underground_centre_line = models.TextField(blank=True, null=True)
underground_description = models.TextField(blank=True, null=True)
unofficial_number = models.CharField(max_length=60, blank=True, null=True)
- url = models.CharField(max_length=200, blank=True, null=True)
+ url = models.CharField(max_length=200, blank=True, null=True, unique = True)
# class Meta:
# unique_together = (("area", "kataster_number"), ("area", "unofficial_number"))
@@ -188,9 +188,12 @@ class Cave(TroggleModel):
return qms # a QuerySet
def kat_area(self):
- for a in self.area.all():
- if a.kat_area():
- return a.kat_area()
+ try:
+ for a in self.area.all():
+ if a.kat_area():
+ return a.kat_area()
+ except:
+ return ""
def entrances(self):
return CaveAndEntrance.objects.filter(cave=self)