【发布时间】:2017-03-18 00:59:41
【问题描述】:
我发现在 django admin 中使用自定义主键时,有时分配的 url 与使用的 id 不一致。 当主键为829_011
时class Run(models.Model):
id = models.CharField(max_length=50, primary_key=True)
This url works:
https://localhost/admin/myapp/run/829_5F011/
but this does not - 404 error:
https://localhost/admin/myapp/run/829_011/
我不知道为什么 django 分配的 url 不一致。 有谁知道是否有一个简单的解决方法? 改变模型将是一个巨大的痛苦。
有趣的是,我始终将“5F”自动放入路由中,因此如果我的主键是 44_66,则 url 将以 44_5F66 结尾。
【问题讨论】:
-
不起作用是什么意思?是否引发异常或 404,?另外,您是否已验证数据库中确实存在具有该 ID 的对象?
-
这意味着如果你把那个 url 放到浏览器中,url 路由器就会说这个页面不存在。这是一个问题,因为在这种情况下某些链接会失败...我的主键是 829_011
标签: django-admin