переопределение набора запросов def не работает при извлечении элементов из внешней сети? - PullRequest
0 голосов
/ 20 ноября 2011

У меня есть такой моделадмин

class StudentAdmin(admin.ModelAdmin):
    date_hierarchy = 'dob'

    def queryset(self, request):
        queryset = Student.objects.filter(created_by=request.user)
        return queryset

class ClassroomAdmin(admin.ModelAdmin):
    list_display = ('name',)
    ordering = ('name',)

    def queryset(self, request):
        queryset = Classroom.objects.filter(created_by=request.user)
        return queryset

Как видите, я хочу, чтобы отображались только ученики и классы , которые были созданы зарегистрированным пользователем . На странице списка изменений этот запрос работает нормально. Если я не создал классные комнаты, я их не вижу.

no classrooms

Но когда я перехожу к 'Добавить новую' форму (например, для объекта учащегося), вы видите все классные комнаты, перечисленные в форме, даже если зарегистрированный пользователь не создал их (этот список должен быть пуст для этого пользователя, так как class1 был создан кем-то другим) (Classroom - FK to Student).

classrooms

Что мне не хватает?

1 Ответ

0 голосов
/ 20 ноября 2011

для ограничения набора запросов для внешних ключей, посмотрите на formfield_for_foreignkey

...