uuid 作为 django urls.py 中的关键字参数 <pk>

Asa*_*ara 1 django uuid

我在某些 django 模型中使用 uuid4 作为 id。这就是为什么我不能使用<int:pk>inurls.py因为它不会匹配。我可以使用另一个前缀来匹配这些 uuida2182835-4518-cb95-8eaf-0d5a34105cb2吗?

grr*_*rrr 7

您可以使用uuid路径转换器而不是 int。从文档

uuid - 匹配格式化的 UUID。为防止多个 URL 映射到同一页面,必须包含破折号且字母必须为小写。例如,075194d3-6885-417e-a8a8-6c931e272f00。返回一个 UUID 实例。

因此,为了您的目的,更改<int:pk><uuid:pk>应该可以解决问题