我有两个相关的Django模型。
我们将这两个模型称为book
和author
。
为了简化起见,我们假设它是一对一的关系。
我正在使用Django Rest Framework lookup_field进行基本的api调用,使用uuid而不是pk,如下所示。 https://www.django-rest-framework.org/api-guide/generic-views/
所以我的API调用是/books/e56c231c-0a11-48fa-ab6a-dcdae0a53620/
和/authors/e56c231c-0a11-48fa-ab6a-dcdae0a53620/
代替/books/1/
和/authors/1/
,其中1是pk。
到目前为止效果很好。
但是,现在我正在实现DRF过滤功能。默认情况下,过滤的工作方式如下。 /books?author=1
效果很好,但我不想公开pk。我希望过滤功能像这样/books?author=e56c231c-0a11-48fa-ab6a-dcdae0a53620/
我可以通过执行/books?author__uuid=e56c231c-0a11-48fa-ab6a-dcdae0a53620/
使它工作,但这不是我想要的。
我真的很希望drf过滤器生成的UI也包括UUID作为值,而不是pk。
谢谢