(аккаунт), у которого может быть несколько Профилей (либо 1, либо 2). Связанны через ForeignKey. Нужно добавить фильтрацию пользователей как по одному профилю, так и по двум. По одному решается очень просто, как обычно описываем поля. А в случае с двумя не совсем понятно. Сейчас сделал так, что просто продублировал поля и это вроде бы работает.
Например,
gender = filters.CharFilter(field_name='profile__gender', label='Пол', distinct=True)
gender1 = filters.CharFilter(field_name='profile__gender', label='Пол1')
height = NumberRangeFilter(field_name='profile__height', label='Рост', distinct=True)
height1 = NumberRangeFilter(field_name='profile__height', label='Рост1', distinct=True)
Так, вот, как правильно построить фильтрацию или мой вариант имеет право на жизнь?
Странно, почему не этот - https://github.com/carltongibson/django-filter пакет, он прекрасно ложится на DRF. В нём через Q собираю фильтр. Что-то вроде queryset.filter(Q(foo1=bar) | Q(foo2=bar)) Это если я правильно понял вопрос и нужно сразу по нескольким полям фильтровать.
Обсуждают сегодня