#11369: verbose_name_plural not inherited if base class is abstract. ------------------------------------+--------------------------------------- Reporter: Beetle_B | Owner: nobody Status: new | Milestone: Component: Documentation | Version: 1.0 Resolution: | Keywords: verbose_name_plural, inheritance, abstract Stage: Accepted | Has_patch: 0 Needs_docs: 0 | Needs_tests: 0 Needs_better_patch: 0 | ------------------------------------+--------------------------------------- Comment (by ramiro):
Some tests I've performed trying to understand this ticket (also available at http://dpaste.de/45tH/), the `<django.utils.functional.__proxy__ object` hints this is getting handled by the `string_concat` calls in `django.db.models.options.Option.contribute_to_class`: {{{ #!python # models.py from django.db import models class CategoryBase(models.Model): class Meta: abstract = True verbose_name_plural = u'CategoryBase verbose_name_plural' class Category(CategoryBase): title = models.CharField(max_length=100) #---------------------- >>> from t11369.models import Category >>> c = Category(title=u'Title A') >>> c.save() >>> print Category._meta.verbose_name_plural CategoryBase verbose_name_plural >>> print c._meta.verbose_name_plural CategoryBase verbose_name_plural #====================== # models.py from django.db import models class CategoryBase(models.Model): class Meta: abstract = True verbose_name_plural = u'CategoryBase verbose_name_plural' class CategoryMarkup(CategoryBase): class Meta: abstract = True verbose_name_plural = u'CategoryMarkup verbose_name_plural' class Category(CategoryMarkup): title = models.CharField(max_length=100) #---------------------- >>> from t11369.models import Category >>> c = Category(title=u'Title A') >>> c.save() >>> print Category._meta.verbose_name_plural CategoryMarkup verbose_name_plural >>> print c._meta.verbose_name_plural CategoryMarkup verbose_name_plural #====================== # models.py from django.db import models class CategoryBase(models.Model): class Meta: abstract = True verbose_name_plural = u'CategoryBase verbose_name_plural' class CategoryMarkup(CategoryBase): class Meta: abstract = True class Category(CategoryMarkup): title = models.CharField(max_length=100) #---------------------- >>> from t11369.models import Category >>> c = Category(title=u'Title A') >>> c.save() >>> print Category._meta.verbose_name_plural <django.utils.functional.__proxy__ object at 0xb75a76ec> >>> print c._meta.verbose_name_plural <django.utils.functional.__proxy__ object at 0xb75a76ec> }}} -- Ticket URL: <http://code.djangoproject.com/ticket/11369#comment:5> Django <http://code.djangoproject.com/> The Web framework for perfectionists with deadlines. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-updates@googlegroups.com To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/django-updates?hl=en -~----------~----~----~----~------~----~------~--~---