Python 在django模型上实现通配符搜索
我有一个名为主机的模型,我在其中存储所有服务器的所有信息。在模型中,我有一个字段Python 在django模型上实现通配符搜索,python,django,Python,Django,我有一个名为主机的模型,我在其中存储所有服务器的所有信息。在模型中,我有一个字段hostname 我希望用户能够指定通配符搜索,例如:*one,在这里他们可以获得主机名以one结尾的所有主机,或者 one*在那里,他们可以获得主机名以one开头的所有主机 以及1*2和*1*2和*1*2*和*1*2*3和1*2*3等等 我曾经尝试过迭代hostname.split('*')的结果,但是如果/elif继续混乱,我最终会感到困惑。有人知道更优雅的处理通配符的方法吗?你在找什么 给予 您仍然需要迭代,但
hostname
我希望用户能够指定通配符搜索,例如:*one
,在这里他们可以获得主机名以one
结尾的所有主机,或者
one*
在那里,他们可以获得主机名以one开头的所有主机
以及1*2
和*1*2
和*1*2*
和*1*2*3
和1*2*3
等等
我曾经尝试过迭代hostname.split('*')
的结果,但是如果/elif继续混乱,我最终会感到困惑。有人知道更优雅的处理通配符的方法吗?你在找什么
给予
您仍然需要迭代,但必须处理单个如果尝试使用Q
对象和split
方法,并使用
操作符将它们连接起来。
import fnmatch
print(fnmatch.fnmatch('foo.info', 'foo*'))
print(fnmatch.fnmatch('foo.info', '*.info'))
print(fnmatch.fnmatch('nope', '*.info'))
True
True
False