2011-02-05 14 views
2

管理インターフェースを必要とする2つのクラスがあります。しかし、あるクラスはもう一方のクラスを拡張します。 Exdjango:拡張クラスの管理インターフェース

class Questions(models.Model): 
    pass 

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

ここで最も簡単な方法は、MathQuestion用の別の管理者を作成することです。しかし、MathQuestionをより直観的な管理者に表示する可能性がありますか?例:QuestionAdminインターフェイスに移動して、さらに数式を選択すると、

+0

質問モデルに必須フィールド(スラッグフィールドなど)がある場合、MathQuestionを削除してもQuestionインスタンスはデータベースから削除されません。誰もがこの問題を克服する方法を知っていますか? – Hussam

答えて

0
  1. デフォルトNoneの値とNULL可能でないと、余分なフィールド「QUESTION_TYPE247」を追加
  2. は、子クラスでsaveメソッドをオーバーロード(あなたはそれが動作するかどうかの質問には、わからないのインスタンスを持つことができないことを確認することができます)と、 question_typeに値を割り当てます。これはMathQuestionを意味します。
  3. 常に管理者としてフィルタリングを使用します。
関連する問題