Django 세 모델 상속
1477 단어 Django
부모 클래스 계승은 모델에서 온 것입니다.모델, 그러나 하위 데이터베이스에서 상응하는 데이터 테이블을 생성하지 않으며 부류의 속성 열은 하위 클래스의 데이터 테이블에 저장됩니다
역할:
여러 테이블에 같은 필드가 있을 때, 이 필드를 추상 클래스에 통일적으로 정의할 수 있다
요구 사항:
class BaseModel(models.Model):
creat_time = models.DateTimeField(auto_now_add=True, verbose_name=" ")
update_time = models.DateTimeField(auto_now=True, verbose_name=" ")
is_delete = models.BooleanField(default=False, verbose_name=" ")
class Meta:
abstract = True
다표 상속
모든 모델 클래스는 베이스 데이터베이스에서 상응하는 데이터 테이블 관리 데이터를 생성한다
부모 클래스의 필드는 하위 클래스와 관련된 데이터 테이블에서 중복되지 않습니다
from django import models
class MessageBase(models.Model):
id = models.AutoField()
content = models.CharField(max_length=100)
user_name= models.CharField(max_length=20)
class Moment(MessageBase):
headline = models.CharField(max_length=200)
# Moment id, headline
# ,
삼대리 모델 계승
프록시 모델 중 하위 클래스는 부모 클래스의 데이터만 관리하는 데 사용되며 실제 데이터를 저장하지 않습니다
사용 이유:
하위 클래스의 새로운 기능은 상위 클래스 행위와 기존 코드의 행위에 영향을 주지 않습니다
from django.db import models
class Moment(models.Model):
headline = models.CharField(max_length=200)
user_name = models.CharField(max_legth=20)
pub_date = models.DateField()
class OrderedMoment(Moment):
class Meta:
proxy = True #
ordering = ["-pub_date"] #
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django 라우팅 계층 URLconf 작용 및 원리 해석URL 구성(URLconf)은 Django가 지원하는 웹 사이트의 디렉토리와 같습니다.그것의 본질은 URL과 이 URL을 호출할 보기 함수 사이의 맵표입니다. 위의 예제에서는 URL의 값을 캡처하고 위치 매개 변수로...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.