X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/5dbd487fb7e64aa968da9c3fcbe8a0215d2b3298..2d538a50605add2666172861744229599487f1b2:/src/catalogue/models.py?ds=inline diff --git a/src/catalogue/models.py b/src/catalogue/models.py index 85757a65..be637083 100644 --- a/src/catalogue/models.py +++ b/src/catalogue/models.py @@ -121,6 +121,16 @@ class Author(WikidataModel): def get_absolute_url(self): return reverse("catalogue_author", args=[self.slug]) + @classmethod + def get_by_literal(cls, literal): + names = literal.split(',', 1) + names = [n.strip() for n in names] + if len(names) == 2: + return cls.objects.filter(last_name=names[0], first_name=names[1]).first() + else: + return cls.objects.filter(last_name=names[0], first_name='').first() or \ + cls.objects.filter(first_name=names[0], last_name='').first() + @property def name(self): return f"{self.last_name}, {self.first_name}"