Django Rest Framework Фильтровать связанную модель по lookup_field (uuid) в DRF вместо pk - PullRequest
0 голосов
/ 09 января 2019

У меня есть две модели Django, которые связаны между собой. Давайте назовем эти две модели book и author. Для упрощения предположим, что это отношение один к одному.

Я использую поле lookup_field Django Rest Framework для выполнения базовых вызовов API, используя uuid вместо pk, как показано здесь. https://www.django -rest-framework.org / апите-гид / родовой-вид /

поэтому вызовы API, которые у меня есть, /books/e56c231c-0a11-48fa-ab6a-dcdae0a53620/ и /authors/e56c231c-0a11-48fa-ab6a-dcdae0a53620/ вместо /books/1/ и /authors/1/, где 1 - рк.

Пока это прекрасно работает.

Однако сейчас я реализую функцию фильтрации DRF. И фильтрация по умолчанию работает следующим образом. /books?author=1 Это прекрасно работает, но я не хочу, чтобы ПК были выставлены. Я бы хотел, чтобы фильтрация работала так /books?author=e56c231c-0a11-48fa-ab6a-dcdae0a53620/

Я смог заставить его работать, выполнив /books?author__uuid=e56c231c-0a11-48fa-ab6a-dcdae0a53620/, но это не то, что я искал. Мне бы очень хотелось, чтобы пользовательский интерфейс, сгенерированный фильтрами drf, включал также UUID в качестве значений вместо pk.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...