You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.1 KiB
85 lines
2.1 KiB
from django import forms
|
|
from django.contrib import admin
|
|
|
|
from unfold.admin import ModelAdmin, TabularInline, StackedInline
|
|
from unfold.forms import forms
|
|
|
|
from apps.quiz.models import Question
|
|
|
|
from utils.admin import project_admin_site
|
|
|
|
|
|
|
|
# Uncomment if you want to register Question as a standalone admin
|
|
# @admin.register(Question)
|
|
# class QuestionAdmin(ModelAdmin):
|
|
# list_display = ('question', 'correct_answer', 'quiz', 'priority')
|
|
# form = QuestionAdminForm
|
|
# ordering = ("priority", "id",)
|
|
# fieldsets = (
|
|
# (
|
|
# None, {
|
|
# 'fields': (
|
|
# 'question',
|
|
# ('option1', 'option2'),
|
|
# ('option3', 'option4'),
|
|
# 'correct_answer',
|
|
# )
|
|
# },
|
|
# ),
|
|
# (
|
|
# None, {
|
|
# 'fields': ('priority',)
|
|
# }
|
|
# )
|
|
# )
|
|
@admin.register(Question)
|
|
class QuestionAdmin(ModelAdmin):
|
|
list_display = ('question', 'correct_answer', 'quiz', 'priority')
|
|
ordering = ("priority", "id",)
|
|
search_fields = ('question', 'quiz__title')
|
|
list_filter = ('quiz',)
|
|
|
|
fieldsets = (
|
|
(
|
|
None, {
|
|
'fields': (
|
|
'quiz',
|
|
'question',
|
|
('option1', 'option2'),
|
|
('option3', 'option4'),
|
|
'correct_answer',
|
|
)
|
|
},
|
|
),
|
|
(
|
|
None, {
|
|
'fields': ('priority',)
|
|
}
|
|
)
|
|
)
|
|
|
|
class QuestionAdminInline(StackedInline):
|
|
model = Question
|
|
ordering = ("priority", "id",)
|
|
extra = 1
|
|
|
|
fieldsets = (
|
|
(
|
|
None, {
|
|
'fields': (
|
|
'question',
|
|
('option1', 'option2'),
|
|
('option3', 'option4'),
|
|
'correct_answer',
|
|
)
|
|
},
|
|
),
|
|
(
|
|
None, {
|
|
'fields': ('priority',)
|
|
}
|
|
)
|
|
)
|
|
project_admin_site.register(Question, QuestionAdmin)
|
|
|