데이터베이스에 목차 구조를 유지하려고합니다. 간단한 예 :Django - 다중 테이블 상속성 쿼리의 유형 확인
models.py
class Section (models.Model):
title = models.CharField(max_length=80)
order = models.IntegerField()
class SectionClickable(Section):
link = models.CharField(max_length=80)
class SectionHeading(Section):
background_color = models.CharField(max_length=6)
views.py
나는 그것이 (장고 설명서와 같은)SectionHeading
예,하지만 경우 일부 처리 작업을 할 필요가
sections = Section.objects.filter(title="Hello!")
for section in sections:
if(section.sectionheading):
logger.debug("It's a heading")
에 액세스 객체가 SectionHeading 유형이 아닌 경우 section.sectionheading
은 DoesNotExist 오류를 발생시킵니다.
저는 이런 종류의 문제에 대한 대안을 조사해 왔으며 contenttypes 패키지의 일반 외래 키를 사용하지 않습니다. 그러나 이것은 장고 관리자 측면에서 더욱 두통을 일으킬 것 같습니다. 위의 솔루션보다 나은 솔루션에 대해 조언 해 줄 수 있습니까?
편집 : order
필드 때문에 추상 상속을 피했습니다. 난 당신이 유형 확인할 수 있습니다 함께 두 개의 검색어 세트에 가입하기 위해 잘
'Section'과'SectionHeading'을 어떻게 관련 지으시겠습니까? – second
SectionHeading은 섹션 – bcoughlan
아의 서브 클래스입니다. 아, 죄송합니다. 통지하지 않았습니다. – second