【问题标题】:Django-taggit freezes with uppercase letters?Django-taggit 用大写字母冻结?
【发布时间】:2014-01-25 01:28:45
【问题描述】:

我在我的网站上使用Django-taggit 来处理用户输入的问题,我注意到当我们尝试添加像"Test1" 这样的标签时,它只会冻结。我在 shell 上对其进行了测试,当我尝试 question.tags.add("Test1") 时它冻结了。

我知道大写标签很糟糕,也许我应该将所有内容都转换为小写,但这种行为正常吗? Django-taggit 应该这样冻结吗?

【问题讨论】:

  • 它不应该,对我有用。你可以试试 Tag.objects.create(name='Test1')
  • @akshar 我试过了,它有效!
  • @akshar 太奇怪了。在我手动创建标签后,我可以添加。当我尝试添加另一个大写标签时,它冻结了。
  • 您尝试使用管理员表单?

标签: django django-taggit


【解决方案1】:

发现这个是因为我遇到了类似的问题。我发现如果存在一个在所有方面都与现有标签相同但大小写相同的标签,则会发生挂起。例如(假设“test1”是唯一存在的标签):

>>> question.tags.add("test1")  # works
>>> question.tags.add("test2")  # also works
>>> question.tags.add("Test1")  # freezes

在我的应用程序中,标签名称是大写的,所以我必须确保按名称添加它们 - 发生冻结是因为我是通过 slug 添加它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-10-24
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 1970-01-01
    • 2020-10-17
    • 2019-03-12
    相关资源
    最近更新 更多