Атрибуты класса Meta модели не присваиваются, а выводятся по умолчанию

Хочу реализовать абстрактный класс модели, TableFields, для этого во вложенном классе Meta пишу abstract = True, однако когда импортирую класс в run.py и обращаюсь к словарю models.TableFields.Meta.__dict__, вижу, что 'abstract': False.

Подскажите пожалуйста, с чем это связано?

Вот исходный код:

models.py:

from django.db import models


class TableFields(models.Model):    # class <table_name>Fields
    my_field = models.BigIntegerField(primary_key=True)

    class Meta:     # class Meta
        abstract = True

run.py:

from pprint import pprint
import os
import django


os.environ['DJANGO_SETTINGS_MODULE'] = 'django_models_example.settings'
django.setup()


def run_():
    from example import models
    pprint(models.TableFields.Meta.__dict__)


if __name__ == "__main__":
    run_()

Полный вывод программы:

mappingproxy({'__dict__': <attribute '__dict__' of 'Meta' objects>,
              '__doc__': None,
              '__module__': 'example.models',
              '__weakref__': <attribute '__weakref__' of 'Meta' objects>,
              'abstract': False})
Вернуться на верх