모든 레서피에 분류를 부여하고 싶습니다. 3 가지 레벨 (제목 -> 카테고리 -> 하위 카테고리)이 필요합니다. 나는 다음과 같은 모델을 가지고 : 처음에 나는 레시피 모델에 외래 키를 추가 할 생각Django - 두 개 이상의 외래 키가있는 모델
class Recipe(models.Model):
content = HTMLField()
...
class Subject(models.Model):
name = models.CharField()
class Category(models.Model):
subject = models.ForeignKey(Subject)
name = models.CharField()
class Subcategory(models.Model):
category = models.ForeignKey(Category)
name = models.CharField()
, 뭔가 같은 : 그래서
subcategory = models.ForeignKey(Subcategory)
나는이 주제에 하위 범주에서 갈 수 있었다, 간단한 조인.
하지만 어쩌면 성능을 개선하고 확장 가능한 시스템을 가지고 새로운 테이블을 생성하는 것이 좋습니다, 이것은 나의 생각입니다 :이 마지막 솔루션을 사용
class Classification(models.Model):
recipe = models.ForeignKey(Recipe)
subject = models.ForeignKey(Subject)
category = models.ForeignKey(Category)
subcategory = models.ForeignKey(Subcategory)
, 나는 레시피 관리자에서 하위 범주를 선택합니다 패널을 클릭 한 다음 다른 필드 (카테고리 및 주제)를 자동으로 채 웁니다. 내 질문은 : 어떻게 할 수 있습니까?
감사합니다.