From 7b8703dadc654284daea4ec1cb263a3b17b1b041 Mon Sep 17 00:00:00 2001 From: Philip Sargent Date: Sun, 1 Oct 2023 15:55:28 +0300 Subject: part-way though converting to slugs for people --- core/models/troggle.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'core/models/troggle.py') 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={ -- cgit v1.2.3