2016-07-13 19 views
0

나는 그런 모델이 있습니다사용자 정의 필터 필드

class Student(models.Model): 
    school_classes = models.ManyToManyField(SchoolClass) 
    name = models.CharField(max_length=50) 

class SchoolClass(models.Model): 
    school = models.ForeignKey(School) 
    name = models.CharField(max_length=255) 

class School(models.Model): 
    name = models.CharField(max_length=255, unique=True) 

을 그리고 난 그런 방법으로 학생에 대한 장고 관리자 페이지를 수정하려면, 그래서 두 가지 선택이 - 선택을 위해 학교와 두번째 선택을위한 하나 그 학교의 수업.

사용자 지정 서식 파일과 페이지를 만들지 않고이를 수행 할 수있는 방법이 있습니까?

+0

달성하려는 목표가 명확하지 않습니다. 'change_list' 페이지에서 결과를 필터링 하시겠습니까? 아니면 하나의 선택 값이 다른 필드에 따라 필터링되도록'change_form'을 수정 하시겠습니까? –

답변

0

마침내 ManyToMany Select의 장고 위젯을 다시 작성해야만 간단한 솔루션을 찾지 못했습니다.

0
from django.contrib import admin 
from app.models import Student 

class StudentSchoolClassInline(admin.TabularInline): 
    model = Student.school_classes.through 

class StudentAdmin(admin.ModelAdmin): 
    inlines = [StudentSchoolClassInline] 
    exclude = ['student_classes'] 

admin.site.register(Student, StudentAdmin) 

Working with many-to-many models.