【问题标题】:django: Admin interface for an extended classdjango:扩展类的管理界面
【发布时间】:2011-02-05 00:11:36
【问题描述】:

我有两个需要管理界面的类。但是一个类扩展了另一个类。例

class Questions(models.Model):
     pass

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

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

【问题讨论】:

  • 如果 Question 模型有一个必填字段(比如一个 slug 字段),那么删除 MathQuestion 不会从数据库中删除 Question 实例。有谁知道如何解决这个问题?

标签: django django-models django-admin


【解决方案1】:
  1. 添加额外的字段“question_type”,默认值为None,并且不可为空(这样您就可以确定问题不能有实例,不确定它是否有效)
  2. 在子类中重载save 方法并为question_type 分配一些值,即MathQuestion。
  3. 一如既往地在管理中使用过滤。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-10
    • 2016-05-08
    • 2015-06-11
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    相关资源
    最近更新 更多