Атрибуты класса 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})