2011-02-05 112 views
2

我有两个类,我想要一个管理界面。但是一类延伸另一类。 Exdjango:扩展类的管理界面

class Questions(models.Model): 
    pass 

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

现在最简单的方法是为MathQuestion创建一个单独的管理员。但是,是否有可能让MathQuestion在Admin中以更直观的方式显示,例如:当用户转到QuestionAdmin界面并为Maths选择其他类型时。

+0

如果Question模型有一个必填字段(比如一个slug字段),那么移除一个MathQuestion不会从数据库中删除Question实例。有谁知道如何克服这个问题? – Hussam 2012-10-15 16:15:24

回答

0
  1. 添加额外的字段“question_type”与None默认值,不能为空(所以你可以确保问题没有实例,不知道它的工作原理)
  2. 超载在子类中的方法save和为question_type赋值,表示MathQuestion。
  3. 一如既往地在admin中使用过滤。