ΠΡΠ»ΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Ρ Π½ΡΠΌΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡ DRF, Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΠΎΡΠΈΠ±ΠΊΠΈ
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
ΠΡΠ»ΠΈ Ρ ΡΠ΄Π°Π»Ρ DEFAULT_FILTER_BACKENDS, ΠΎΠ½ Π±ΡΠ΄Π΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ. ΠΡΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ?
ΠΡΠΈΠ²Π΅Ρ @csarcom. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Π°Ρ DEFAULT_FILTER_BACKENDS
Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ, Π° Π½Π΅ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΌ. ΠΡ Π·Π°ΠΊΠ»ΡΡΠΈΠ»ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ Π² ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ, Π½ΠΎ Π½Π΅ ΠΏΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, Π° Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΆ. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΊΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΉ.
ΠΡΠ»ΠΈΡΠ½ΠΎ, ΡΠΏΠ°ΡΠΈΠ±ΠΎ
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡΠΈΠ²Π΅Ρ @csarcom. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π² ΡΠΎΠΌ, ΡΡΠΎ Π²Π°Ρ
DEFAULT_FILTER_BACKENDS
Π½Π° ΡΠ°ΠΌΠΎΠΌ Π΄Π΅Π»Π΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΊΠΎΠΉ, Π° Π½Π΅ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΌ. ΠΡ Π·Π°ΠΊΠ»ΡΡΠΈΠ»ΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ Π² ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ, Π½ΠΎ Π½Π΅ ΠΏΠΎΡΡΠ°Π²ΠΈΠ»ΠΈ Π·Π°ΠΏΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΊΡΡΠ³Π»ΡΠ΅ ΡΠΊΠΎΠ±ΠΊΠΈ ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅, Π° Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΊΠΎΡΡΠ΅ΠΆ. ΠΠΎ ΡΡΠΎΠΉ ΠΏΡΠΈΡΠΈΠ½Π΅ Ρ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΏΠΈΡΠΊΠΈ Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΡΠ΅ΠΆΠ΅ΠΉ.