django - 姜戈。查询集中的条件
问题描述
我有一个表格“表格”和一个字段“字段”。我需要使用以下条件过滤表:
if (field.isdigit() and len(strip(field)) <= 4):
do somethimg
或者
if (field.isdigit() and int(field) <= 10000):
do somethimg
它在查询中会是什么样子?
Table.objects.filter(condition).update(field="xxx")
谢谢
解决方案
您可以使用带有__regex
查找 [Django-doc]的正则表达式进行检查:
Table.objects.filter(field__regex=r'^\d{,4}$').update(field='xxx')
或者如果允许前导和尾随空格:
Table.objects.filter(field__regex=r'^\s*\d{,4}\s*$').update(field='xxx')
话虽如此,如果您的字段仅包含数字数据,我强烈建议您使用像IntegerField
[Django-doc]这样的数字字段。
推荐阅读
- docker - JBoss EAP 容器无法启动
- pandas - 如何比较和标记最冷的字符串行
- matlab - Matlab中的hist3适配输出xx yy zz
- python - 从 pandas 数据框列中减去六个小时
- php - 使用 .htaccess 重定向整个站点,但不包括 sitemap.xml 和 robots.txt
- three.js - 在three.js中将多个框合并到一个网格中
- performance - SQLite:归档不同数据库或表中的记录
- javascript - 如何检测 vue treeselect 的变化
- visual-c++ - 如何防止此 CMFCPropertySheet 将高度调整得太小?
- javascript - 在 mithril.js 中,onremove 和 onbeforeremove 事件不会触发,而 oninit 和 oncreate 是