A database table is not created from the class which has "abstract=True" and a child class cannot inherit the fields from the parent class which doesn't have "abstract=True".
For example, "Student" class extends "Person" class which has "id"(Hidden), "name" and "age" fields as shown below:
# "myapp/models.py"
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=100)
age = models.IntegerField()
class Student(Person):
pass
Then, run this command below:
python manage.py makemigrations && python manage.py migrate
Then, "myapp_person" and "myapp_student" tables are created from "Person" and "Student" classes respectively and because "Student" class doesn't inherit 3 fields from "Person" class, "myapp_student" table doesn't have them, instead it has "person_ptr_id" as shown below:

Now, add "abstract = True" to "Person" class as shown below:
# "myapp/models.py"
from django.db import models
class Person(models.Model):
name = models.CharField(max_length=100)
age = models.IntegerField()
class Meta:
abstract = True
class Student(Person):
pass
Then, run this command below:
python manage.py makemigrations && python manage.py migrate
Then, only "myapp_student" table is created from "Student" class and because "Student" class inherits 3 fields from "Person" class, "myapp_student" table has them as shown below:
