【问题标题】:Finding matches in Django model without punctuation or spaces在没有标点符号或空格的 Django 模型中查找匹配项
【发布时间】:2013-07-18 23:30:19
【问题描述】:

我正在尝试将来自 URL 的 GET 字符串与数据库中的字段匹配,该字段是相同的字符串,没有任何标点符号或空格。例如:

URL: http://www.mysite.com/JohnBSmith/

And the string I'm trying to match in the database is: "John B. Smith"

我可以用正则表达式做到这一点吗?一个问题是我不知道会有多少标点符号或空格。

我如何用 Django 做到这一点?我想这样写:

myVariable = MyModel.objects.filter(foo=bar)

提前谢谢你。

【问题讨论】:

  • 是的,我明白这一点,但我的意思是我正在寻找 MyModel.objects.filter(something....) 形式的东西
  • 其他格式也可以,但这样会更好
  • "John B. Smith" 是否存储为单个数据库条目?
  • 我希望 URL 没有任何破折号或符号
  • 查询中的正则表达式会很快变得低效。

标签: python mysql django django-models


【解决方案1】:

我建议在您的表中添加一个新列,为您的模型添加一个新字段,也许是 SlugField,并确保在您保存模型实例时更新此字段。您可以为此目的使用django-autoslug

【讨论】:

    【解决方案2】:

    这可能是正则表达式:

    John +B(\.)? +Smith

    【讨论】:

      猜你喜欢
      • 2017-05-23
      • 2023-03-14
      • 1970-01-01
      • 2021-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-19
      • 1970-01-01
      相关资源
      最近更新 更多