Django 에서 model을 상속하여 사용하는 방법에는 모두 3가지가 있다.
- abstract base classes를 사용하는 방법
- Multi-table inheritance 를 사용하는 방법
- Proxy models를 사용하는 방법
1. Abstract base classes
간단하게 Abstract base classes를 사용하는 방법을 살펴보면 아래와 같다.
from django.db import models
class CommonInfo(models.Model):
name = models.CharField(max_length=100)
age = models.PositiveIntegerField()
class Meta:
abstract = True
class Student(CommonInfo):
home_group = models.CharField(max_length=5)
from django.db import models
class CommonInfo(models.Model):
name = models.CharField(max_length=100)
age = models.PositiveIntegerField()
class Meta:
abstract = True
class Student(CommonInfo):
home_group = models.CharField(max_length=5)
from django.db import models class CommonInfo(models.Model): name = models.CharField(max_length=100) age = models.PositiveIntegerField() class Meta: abstract = True class Student(CommonInfo): home_group = models.CharField(max_length=5)
Model inheritance
Models | Django documentation