首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django:过滤包含存储正则表达式的字段的模型

问Django:过滤包含存储正则表达式的字段的模型
EN

Stack Overflow用户
提问于 2014-07-26 04:11:42
回答 1查看 17.5K关注 0票数 12

我有一个存储REGEX模式的字段,我试图通过将它与一个名为hostname的传入变量进行比较来过滤它所在的模型。(例如:这里我刚硬编码了REGEX。

代码语言:javascript
复制
Sys_team.objects.filter(hostname= r'^.*\.amgr\..*')

我遇到了这个错误:

FieldError: Cannot resolve keyword 'hostname' into field. Choices are: alert, id, pattern, pub_date, sys_team

主机名的格式为: xxx.amgr.xxx

这是否意味着只有字段才能进入过滤器的左侧?如果是这样,是否有其他方法可以将这两个字段与左侧的REGEX模式进行比较。再次重申,hostname不是一个字段。

EN

回答 1

Stack Overflow用户

发布于 2014-07-26 05:48:44

使用Django __contains方法。

因此,对于您的查询:

代码语言:javascript
复制
Sys_team.objects.filter(hostname__contains='.amgr.')

__contains是Django ORM的等价物,相当于SQL的LIKE关键字。

以下是文档:

https://docs.djangoproject.com/en/dev/topics/db/queries/#escaping-percent-signs-and-underscores-in-like-statements

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24963761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档