You can write such a filter using AJAX (using jQuery or a similar structure would be the easiest way to do this). You will create a custom form widget with two lists. The first will be filled with all available programs by the server when the page loads. Your javascript will wait for a choice, and then ask the server (this is part of AJAX) for the list of courses in this program and update the second list accordingly.
, , ; , jammon answer ( , . Django ). , , , , , .
Django - admin.py. , - :
from django.contrib import admin
from myapp.models import Program, Course, Grade
admin.site.register(Program)
admin.site.register(Course)
admin.site.register(Grade)
. -, :
class GradeInline(admin.TabularInline):
model = Grade
extra = 1
, admin.TabularInline admin.StackedInline. TabularInline, , . extra , .
, :
class CourseAdmin(admin.ModelAdmin):
model = Course
inlines = (GradeInline,)
, , . , . , admin.py :
from django.contrib import admin
from myapp.models import Program, Course, Grade
class GradeInline(admin.TabularInline):
model = Grade
extra = 1
class CourseAdmin(admin.ModelAdmin):
model = Course
inlines = (GradeInline,)
admin.site.register(Program)
admin.site.register(Course, CourseAdmin)