通过DRF中的lookup_field(uuid)代替pk的Django Rest Framework Filter相关模型

时间:2019-01-09 02:08:26

标签: django rest filter frameworks

我有两个相关的Django模型。 我们将这两个模型称为bookauthor。 为了简化起见,我们假设它是一对一的关系。

我正在使用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。

谢谢

0 个答案:

没有答案