2011-02-05 2 views
2

나는 관리 인터페이스를 원하는 두 개의 클래스가 있습니다. 그러나 한 클래스는 다른 클래스를 확장합니다. Exdjango : 확장 클래스에 대한 관리 인터페이스

class Questions(models.Model): 
    pass 

class MathQuestion(Questions): 
    some fields .... 

이제 가장 간단한 방법은 MathQuestion을위한 별도의 관리자를 만드는 것입니다. 그러나 MathQuestion을 Admin에서보다 직관적 인 방식으로 표시 할 수있는 가능성이 있습니다 (예 : 사용자가 QuestionAdmin 인터페이스로 이동하여 Maths에 대한 추가 유형을 선택할 때).

+0

질문 모델에 필수 필드 (슬러그 필드)가있는 경우 MathQuestion을 제거해도 데이터베이스에서 Question 인스턴스가 제거되지 않습니다. 누구든지이 문제를 극복하는 방법을 알고 있습니까? – Hussam

답변

0
  1. 기본 None의 값과 Null을 허용하지로 추가 필드 'question_type'를 추가
  2. 는 자식 클래스에서 save 방법을 과부하 (그래서 당신은 그것을 작동하는 경우 질문, 확실하지가 인스턴스를 가질 수 없습니다 확신 할 수 있습니다) 및 question_type에 MathQuestion을 의미하는 값을 지정하십시오.
  3. 항상 admin으로 필터링을 사용하십시오.
관련 문제