Django-filter: Problem mit DRF-Paginierung

Erstellt am 18. Juli 2018  ·  3Kommentare  ·  Quelle: carltongibson/django-filter

Wenn ich diese Einstellungen mit DRF-Paginierung verwende, treten einige Fehler auf

REST_FRAMEWORK = {
    'DEFAULT_FILTER_BACKENDS': (
        'django_filters.rest_framework.DjangoFilterBackend'
    ),
    'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination',
    'PAGE_SIZE': 100   
}
rics.py", line 151, in filter_queryset
    for backend in list(self.filter_backends):
TypeError: 'RenameAttributes' object is not iterable

Wenn ich DEFAULT_FILTER_BACKENDS entferne, funktioniert es. Ist das richtig?

Hilfreichster Kommentar

Hallo @csarcom. Das Problem ist, dass Ihr DEFAULT_FILTER_BACKENDS eigentlich eine Zeichenfolge ist, kein Tupel. Sie haben den Backend-String in Klammern gesetzt, aber das Komma weggelassen, sodass die Klammern den Inhalt auswerten, anstatt ein Tupel zu erstellen. Aus diesem Grund empfehle ich normalerweise, dass Benutzer Listen anstelle von Tupeln verwenden.

Alle 3 Kommentare

Hallo @csarcom. Das Problem ist, dass Ihr DEFAULT_FILTER_BACKENDS eigentlich eine Zeichenfolge ist, kein Tupel. Sie haben den Backend-String in Klammern gesetzt, aber das Komma weggelassen, sodass die Klammern den Inhalt auswerten, anstatt ein Tupel zu erstellen. Aus diesem Grund empfehle ich normalerweise, dass Benutzer Listen anstelle von Tupeln verwenden.

Grosses Dankeschön

Danke

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen