Django 类似 url 模式问题

Django similar url pattern issue

我正在开发一个产品比较模块并且有 url 如下模式:

path('comparison/<slug:slug1>-vs-<slug:slug2>/', views.compare_two_products, name="compare_two_products"),
path('comparison/<slug:slug1>-vs-<slug:slug2>-vs-<slug:slug3>/', views.compare_three_products, name="compare_three_products"),

问题是当我尝试访问第二个模式时,Django (3.2.6) 总是匹配第一个模式和 returns 404。但是,如果我注释掉第一个模式,那么它就可以很好地匹配第三个模式。我想让这两种模式都以 slug-vs-slug-vs-slug 格式工作。关于我可能做错了什么的任何建议?

提前致谢。

只需更改顺序或网址,例如

path('comparison/<slug:slug1>-vs-<slug:slug2>-vs-<slug:slug3>/', views.compare_three_products, name="compare_three_products"),
path('comparison/<slug:slug1>-vs-<slug:slug2>/', views.compare_two_products, name="compare_two_products"),

应该可行