#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
-~----------~----~----~----~------~----~------~--~---

Reply via email to