﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
27264	Model Meta is overwriten by abstract parent class	luxcem	nobody	"

Hi, it seems to be an actual django bug, the example at the address
https://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 = 'sample'
}}}


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

"	Bug	new	Database layer (models, ORM)	1.10	Normal		models meta inheritance		Unreviewed	0	0	0	0	0	0
