【问题标题】:Django url unique url openDjango url 唯一的 url 打开
【发布时间】:2017-06-15 14:58:52
【问题描述】:

我使用 django 1.10.5。 我在打开唯一网址时遇到问题,查看次数:

entry = get_object_or_404(Post, slug=slug)

模型字段:

slug = models.SlugField(editable=False)

我需要检测具有相同字符串的 slug,例如我有 slug xyz 和 xYz 我需要打开其他页面,现在 django 在生产中显示 500 页。

url(r'^(?P<slug>[\w-]+)/$', views.single_post, name='single_post'),

还有错误信息:

MultipleObjectsReturned at /pZw/ get() returned more than one Post -- it returned 2!

我如何检测是否相同?

【问题讨论】:

  • 我在视图中看到 slug 字段接受这两种模式。你能分享一下这个例外吗?
  • MultipleObjectsReturned at /pzw/ get() 返回了多个 Post -- 它返回了 2!
  • 那条信息有什么不言自明的?
  • 是的,我明白,但我需要检查和比较 url 模式是否区分大小写

标签: django unique slug


【解决方案1】:

好吧,你得到了两个结果,而 get_object_or_404 预计只返回 1。 您的现场蛞蝓不是唯一的,并且有一些不一致之处。 你能试试这个。

entry = get_object_or_404(Post, slug__exact=slug)

【讨论】:

  • MultipleObjectsReturned at /pZw/ get() 返回了多个 Post -- 它返回了 2!
  • __exact 是默认查找,明确指定它不会改变行为。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-04
  • 1970-01-01
  • 2016-01-01
  • 1970-01-01
  • 2018-02-18
  • 1970-01-01
  • 2018-02-06
相关资源
最近更新 更多