Blog categories

Comments

Created with Snap

[Django] Model 상속 받기

[Django] Model 상속 받기

Django 에서 model을 상속하여 사용하는 방법에는 모두 3가지가 있다.

  1. abstract base classes를 사용하는 방법
  2. Multi-table inheritance 를 사용하는 방법
  3. Proxy models를 사용하는 방법

1. Abstract base classes

간단하게 Abstract base classes를 사용하는 방법을 살펴보면 아래와 같다.

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
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)

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다