python - 使用 MySQL 从 Django QuerySet 中获取不同的值
问题描述
有谁知道如何在 Django QuerySet 中获得不同的值?我正在使用 MySQL db,但我还没有找到解决方案。
表格是:
ID WORK_YMD LINE_NM MODEL_CODE MAG_NO PRODC_MAGT_NO
118002 20191015 PBA-21F BN94-14806W A656MAF00001 BR10BN9414806WA656MAE4035
118003 20191015 PBA-21F BN94-14806W A656MAF00001 BR10BN9414806WA656MAE4027
118004 20191015 PBA-21F BN94-14806W A656MAF00001 BR10BN9414806WA656MAE4039
118005 20191015 PBA-21F BN94-14806W A656MAF00001 BR10BN9414806WA656MAE4037
118006 20191015 PBA-21F BN94-14806W A656MAF00001 BR10BN9414806WA656MAE4038
我想得到 model_code 考虑Filter mag_no = "My Variable" Ex:A656MAF00001
我尝试过这样的事情,但没有奏效。
Magazine.objects.filter(mag_no='A656MAF00001').get('model_code').distinct().order_by()
错误是:
“要解压的值太多”
解决方案
尝试:
Magazine.objects.filter(mag_no='A656MAF00001').values('model_code').distinct().order_by('-id')
除非您使用 Postgres,否则您不能为 distinct 提供参数。
从文档:
仅在 PostgreSQL 上,您可以传递位置参数 (*fields) 以指定应应用 DISTINCT 的字段名称。
Django文档不同
编辑:根据评论获取最后一行。
Magazine.objects.filter(mag_no='A656MAF00001').values('model_code').distinct().last().get('model_code')
推荐阅读
- apache-flink - 为什么在 Flink SQL Job 中查询 SQL Server 数据库表时,Flink SQL Job 会从 Running 变为 Finished?
- java - 如何处理首选项(PreferenceFragment)中自定义项目的点击事件?
- vue.js - 无法在 Vue.js 中将对象属性设置为反应式
- saml - Idp 发起 SAML 维持系统
- regex - MariaDB 中的正则表达式替换
- javascript - 使用javascript从上到下获取json数据
- c# - 由于逆变,参数不可赋值
- laravel - 无法将图像数据写入路径图像干预laravel
- python - python qrcode中的多个值
- mysql - 无法使用mysql将strapi部署到Heroku