Odziedziczyłem aplikację Django v1.2.4 i jestem w trakcie dodawania kilku poprawek i ulepszeń. Podczas tego procesu, nagle zaczęły się pojawić następujący błąd:Django: Filtrowanie według% filtra% niedozwolone
SuspiciousOperation at
/hometeam/admin/players/playeryear/
Filtering by team__season__season_start_date__year not allowed
Ten błąd jest wyświetlany w wyskakujących okienek interfejsu administratora, gdy próbuję wybrać pozycję na polu wprowadzania (dostępnego przez lupę związanego z polami).
Mam włączone debugowanie, ale nie jestem w stanie określić, gdzie wystąpił ten błąd lub która ostatnia zmiana spowodowała jego uruchomienie. Czy możesz pomóc mi poprawnie przeanalizować wyniki debugowania, aby wykryć błędny filtr, który powoduje ten problem?
gracze/admin.py zawiera następujące klasy:
class PlayerYearAdmin(FkAutocompleteAdmin):
related_search_fields = {
'team': ('school__school',),
'player': ('first_name', 'last_name'),
}
list_display = ['player', 'team', 'player_year_in_school']
list_filter = ['team']
search_fields = ['player__first_name', 'player__last_name']
ordering = ['player__last_name', 'player__first_name']
zakomentowanie oświadczenia list_display
i list_filter
nie zmienia problemu.
Poniżej znajduje się kilka wyników debugowania. W razie potrzeby mogę opublikować więcej.
Request Method: GET
Request URL: http://204.232.208.57:8010/hometeam/admin/players/playeryear/?team__season__season_start_date__year=2010&team__sport__sport=Boys%20Basketball&t=id&pop=1
Django Version: 1.2.4
Exception Type: SuspiciousOperation
Exception Value: Filtering by team__season__season_start_date__year not allowed
Exception Location: /usr/local/lib/python2.6/dist-packages/Django-1.2.4-py2.6.egg/django/contrib/admin/views/main.py in get_query_set, line 193
Python Executable: /usr/bin/python
już zastosowane poprawki sugerowane w https://code.djangoproject.com/changeset/15140, ale nie było zmiany po plastra. Wszelkie wskazówki zostaną docenione.
Świetne znalezisko. Dzięki. – Cerin