在 django 模型上实现通配符搜索



我有一个名为 Host 的模型,用于存储有关所有服务器的所有信息。在模型中,我有一个现场hostname.

我希望用户能够指定通配符搜索,例如:*one他们将在哪里获得主机名以one结尾的所有主机或one*他们会得到主机名以one开头的所有主机one*two*one*two*one*two**one*two*threeone*two*three等等。

我尝试迭代hostname.split('*')的结果,但我最终会感到困惑,如果/elif 继续混乱。 有谁知道处理通配符的更优雅的方法吗?

你在寻找fnmatch吗?

import fnmatch
print(fnmatch.fnmatch('foo.info', 'foo*'))
print(fnmatch.fnmatch('foo.info', '*.info'))
print(fnmatch.fnmatch('nope', '*.info'))

True
True
False

您仍然需要迭代,但必须处理一个if

最新更新