【发布时间】:2021-07-11 16:45:30
【问题描述】:
我试图通过字典和正则表达式的组合来过滤 Django 数据。所以我的字典是这样的:
dict = {key: r'.*?' + value + '.*?$'}
我将键和值作为字符串变量。
我想过滤数据,使我检索到的所有行的键索引值都包含字符串值。
table.objects.all().filter(**dict)
但是,这并没有给我想要的行;事实上,它根本没有给我任何行,而所有带有索引键的行都应该显示出来。对于这里可能出现的问题以及如何开始修复它,我将不胜感激。谢谢!
编辑:我更喜欢使用字典方法进行过滤,因为我将要过滤的键作为 URL 参数中给定的子字符串。如果您认为还有其他方法可以从 URL 中检索字符串并执行以下操作:
table.objects.all().filter(key: r'.*?' + value '*?$' ).
我也会很感激,只是不确定如何做到这一点,因为我只有可变键作为字符串!
编辑:键是“城市”,值是“费城”,我正在寻找索引为“城市”=“费城”但没有显示的行。
【问题讨论】:
-
这里变量
key和value的值究竟是什么? -
dict =
{key: r'.*?' + value '*?$'}是一个有效的字典吗?value后面不是缺少 + 吗? -
@Dr.Regex 抱歉,这是我的错字!我把它改成了 {key: r'.*?' + 值 + '.*?$'}。但是,它仍然不起作用。
-
为什么不直接使用
key__contains方法呢? -
@Đỗ Nguyên Tùng 是的,可以。
标签: python django regex database web