У меня есть две модели 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.
Спасибо