Hi, it seems to be an actual django bug, the example at the 
addresshttps://docs.djangoproject.com/en/1.10/topics/db/models/#meta-inheritance
does not work correctly,

    from django.db import models

    class BaseCategory(models.Model):
        title = models.CharField(max_length=100)

        class Meta:
            abstract = True
            ordering = ['title']

    class Category(BaseCategory):

        name = models.CharField(max_length=100)

        class Meta(BaseCategory.Meta):
            ordering = ['name']
            db_table = 'samble'

Category.Meta.ordering is equal to ['title'], Category.Meta.db_table is
undefined and Category.Meta.abstract is correctly set to false, in fact
Category.Meta is of type BaseCategory.Meta.

A stranger behavior is when `abstract = True` is added to the subclass :

    class Category(BaseCategory):

        name = models.CharField(max_length=100)

        class Meta(BaseCategory.Meta):
            abstract = True
            ordering = ['name']
            db_table = 'sample'

Now the behavior is correct (if abstract was not set) :
Category.Meta.db_table = 'sample', Category.Meta.ordering = ['name'] but
Category.Meta.abstract = False, Category.Meta is of type Category.Meta

So additionally it is impossible to create an abstract class inheriting
an abstract class.

Tested with django 1.8, 1.9, 1.10, 1.10.1 and python 2.7, 3.4

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/01956d0c-bb9b-430f-8074-5da38efd72dd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to