gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-29 21:34:25 29 4
gpt4 key购买 nike

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

Sys_team.objects.filter(hostname= r'^.*\.amgr\..*')

我遇到了这个错误:

FieldError:无法将关键字“主机名”解析为字段。选项有:alert、id、pattern、pub_date、sys_team

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

这是否意味着只有字段可以进入过滤器的左侧?如果是这样,是否有另一种方法可以将两者与左侧的 REGEX 模式进行比较。重申一下,主机名不是一个字段。

最佳答案

使用 Django __contains 方法。

因此对于您的查询:

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

关于python - Django:过滤包含存储正则表达式的字段的模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24963761/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com