추상화 클래스는 claa meta에 abstract에 "True"를 꼭 지정해주어야 한다!
from django.db import models
class TimeStampedModel(models.Model):
"""
'created'와 'modified' 필드를 자동으로 업데이트해 주는 추상화 기반 클래스 모델.
"""
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
class Meta:
abstract = True
from django.db import models
from tracker.core.models import TimeStampedModel
class Flavor(TimeStampedModel):
title = models.CharField(max_length=200)
장고 쉘에서 flavor.models에 있는 "Flavor" 모델에
"TimeStampedModel"에서 상속 받은 'created, modifed' 필드가 있는지 확인해 봤다!
다 있다! 룰루
>>> from tracker.flavor.models import *
>>>
>>> Flavor._meta.get_fields()
(<django.db.models.fields.AutoField: id>, <django.db.models.fields.DateTimeField: created>, <django.db.models.fields.DateTimeField: modified>, <django.db.models.fields.CharField: title>)
>>>
>>> Flavor._meta.get_field('id')
<django.db.models.fields.AutoField: id>
>>> Flavor._meta.get_field('created')
<django.db.models.fields.DateTimeField: created>
>>> Flavor._meta.get_field('modified')
<django.db.models.fields.DateTimeField: modified>
>>> Flavor._meta.get_field('title')
<django.db.models.fields.CharField: title>
>>>
Model _meta API
모델이름._meta.get_field('필드이름')