diff --git a/media/models.py b/media/models.py index 669ee7a..e16c65d 100644 --- a/media/models.py +++ b/media/models.py @@ -44,7 +44,17 @@ class Borrowable(PolymorphicModel): ) def __str__(self): - return self.title + obj = self + if obj.__class__ == Borrowable: + # Get true object instance, useful for autocompletion + obj = Borrowable.objects.get(pk=obj.pk) + + title = obj.title + if hasattr(obj, 'subtitle'): + subtitle = obj.subtitle + if subtitle: + title = f"{title} : {subtitle}" + return title class Meta: verbose_name = _('borrowable') @@ -99,12 +109,6 @@ class Book(Medium): null=True, ) - def __str__(self): - if self.subtitle: - return "{} : {}".format(self.title, self.subtitle) - else: - return self.title - class Meta: verbose_name = _("book") verbose_name_plural = _("books")