我正在尝试为我的应用的管理页面创建一个界面,在此页面上,在管理员输入时将新字段添加到模板中。为此,应该有一个选项“添加文本问题”或“添加数字问题”。之后,将出现类TextQuestion或numericQuestion,以便您可以构建一系列问题。 Django是否提供这种选项?不幸的是,我在浏览互联网时没有发现这种可能性。
class QuestionAdmin(admin.ModelAdmin):
fieldsets = [
("General", {'fields': ['question','question_type']}),
("Text Question", {'fields': ['text_answer']}),
("Numerical Question", {'fields': ['numerical_answer_lower','numerical_answer_upper']}),
("Scheduling", {'fields': ['schedule']})
]
admin.site.register(M1_Question,QuestionAdmin)
答案 0 :(得分:0)
这取决于型号。最少的努力就是:
Question
具有类似字段:
在这种情况下,管理员列表视图将显示问题列表,通过“添加问题”按钮,您可以简单地添加新问题并选择其类型。
这些问题也可以具有一个保存问题列表的模型的外键,例如问卷。按照Django约定,调查表会自动获得一个反向关系作为属性:question_set
。
如果您希望调查表引用其问题(您没有在问题中添加足够的信息,因此这只是一个假设),则可以定义以下字段:
在这种情况下,您可以使用Admin Inlines来允许在“问卷”对象的详细信息视图上的问题列表中添加,编辑和删除。