python - 如何通过 CharField 过滤对象
问题描述
我想过滤cases_alert
(类)CaseAlert.alert_type
是一个CharField
。但过滤函数的参数不是CharField
。
谁能帮我解决这个问题?谢谢你。
模型.py
class CaseAlert(models.Model):
alert_type = models.CharField(max_length=16)
视图.py
cases_alerts = CaseAlert.objects.all().prefetch_related('reports').filter(
CaseAlert.alert_type.in_(['u1'])).order_by(CaseAlert.alert_key)
解决方案
您可以使用以下方式过滤:
CaseAlert.objects.prefetch_related('reports').filter(
alert_type__in=['u1']
).order_by('alert_key')
如果列表仅包含一个元素,则不应使用__in
查找 [Django-doc]:
CaseAlert.objects.prefetch_related('reports').filter(
alert_type='u1'
).order_by('alert_key')
推荐阅读
- c - 我的(自定义)程序如何泄漏内存?我正在为 pset5 做准备
- android - RxJava2 未在 MVVM 架构中执行链
- css - 表格中浮动选择旁边的垂直对齐范围
- spring - 如何在 Junit 测试中更改代码中的 Spring 属性文件变量?
- c# - C# 中的 MouseKeyHook 无法检测到鼠标左键单击表单
- r - 如何删除堆叠的 geom_col 之间的空白
- sql-server - 从存储过程中提取数据到现有的excel文件
- php - 合并具有相同索引值的二维数组
- css - 我找不到css“height”不起作用的原因
- excel - excel打开时隐藏功能区 - excel 2016