diff options
author | Philip Sargent <philip.sargent@gmail.com> | 2023-10-01 15:55:28 +0300 |
---|---|---|
committer | Philip Sargent <philip.sargent@gmail.com> | 2023-10-01 15:55:28 +0300 |
commit | 7b8703dadc654284daea4ec1cb263a3b17b1b041 (patch) | |
tree | 6a380e4d12ee39d57ba7b68d5e3d740ba52988d5 /core/models/troggle.py | |
parent | 16d3ee9f92914859edd7b568c9dbd802fd93438e (diff) | |
download | troggle-7b8703dadc654284daea4ec1cb263a3b17b1b041.tar.gz troggle-7b8703dadc654284daea4ec1cb263a3b17b1b041.tar.bz2 troggle-7b8703dadc654284daea4ec1cb263a3b17b1b041.zip |
part-way though converting to slugs for people
Diffstat (limited to 'core/models/troggle.py')
-rw-r--r-- | core/models/troggle.py | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/core/models/troggle.py b/core/models/troggle.py index 5db2d10..0977f84 100644 --- a/core/models/troggle.py +++ b/core/models/troggle.py @@ -80,14 +80,15 @@ class Person(TroggleModel): first_name = models.CharField(max_length=100) last_name = models.CharField(max_length=100) - fullname = models.CharField(max_length=200) + fullname = models.CharField(max_length=200) # display name, but should not be used for lookups nickname = models.CharField(max_length=200) - slug = models.SlugField(max_length=50, unique=True) + slug = models.SlugField(max_length=50, blank=True, null=True) # unique, enforced in code not in db is_vfho = models.BooleanField( help_text="VFHO is the Vereines für Höhlenkunde in Obersteier, a nearby Austrian caving club.", default=False, ) + is_guest = models.BooleanField(default=False) # This is per-Person, not per-PersonExpedition mug_shot = models.CharField(max_length=100, blank=True, null=True) blurb = models.TextField(blank=True, null=True) orderref = models.CharField(max_length=200) # for alphabetic @@ -101,6 +102,7 @@ class Person(TroggleModel): ordering = ("orderref",) # "Wookey" makes too complex for: ('last_name', 'first_name') def __str__(self): + return self.slug if self.last_name: return f"{self.first_name} {self.last_name}" return self.first_name @@ -150,7 +152,7 @@ class PersonExpedition(TroggleModel): person = models.ForeignKey(Person, on_delete=models.CASCADE) slugfield = models.SlugField(max_length=50, blank=True, null=True) # 2022 to be used in future - is_guest = models.BooleanField(default=False) + # is_guest = models.BooleanField(default=False) # This is per-Person, not per-PersonExpedition class Meta: ordering = ("-expedition",) @@ -162,6 +164,16 @@ class PersonExpedition(TroggleModel): def get_absolute_url(self): # we do not use URL_ROOT any more. + return(f"/personexpedition/{self.person.slug}/{self.expedition.year}") + # why does this hang the system ? + return reverse( + "personexpedition", + kwargs={ + "slug": self.slug, + "year": self.expedition.year, + }, + ) + # old style, no longer used return reverse( "personexpedition", kwargs={ |