【发布时间】:2021-04-23 15:35:48
【问题描述】:
有一张这样的表:
+---+----+-------+------+
| | id | color | type |
+---+----+-------+------+
| 1 | 1 | Blue | 2 |
+---+----+-------+------+
| 2 | 2 | Green | 4 |
+---+----+-------+------+
| 3 | 3 | White | 5 |
+---+----+-------+------+
| 4 | 4 | Red | 6 |
+---+----+-------+------+
| 5 | 5 | Gray | 8 |
+---+----+-------+------+
在模板中,有两个字段可以在这个表中进行搜索。一个字段用于搜索 color,它是一个字符串,另一个用于搜索 type,它是一个数字。
在 views.py 我有这个过滤器:
results = models.MyModel.objects.filter(Q(color__iexact=search_query) | Q(type=search_query))
如果我搜索一个数字,它会显示一些结果,而搜索一个字符串会导致如下错误:
/search/处的ValueError
字段“id”需要一个数字,但得到了“白色”。
我应该怎么做才能纠正它?
【问题讨论】:
-
请显示完整代码。视图、形式和模型
-
表格里可能有东西
标签: django django-views django-templates