python - 在 postgresql django 中查询 JSONField 的另一种方法

标签 python django postgresql

我已经用 PostgreSQL 上的数据库制作了 Django 项目。我有一列数据,它是一个 JSONField() 对象。现在要在数据 JSON blob 中查询,文档仅显示一种方法。假设某些行在数据中的键为“薪水”,所以根据文档,如果我想检索带有薪水的行,那么方法是:

TableName.objects.filter(data__Salary__gte = 15000)

现在的问题是我想让它成为用户特定的,就像用户会告诉 key 并将其传递给函数,我想要这样的东西:

keyValue = 'Salary'
TableName.objects.filter(data__keyValue__gte = 15000)

但是由于明显的原因,这不起作用,因为数据中没有 keyValue 列。还有其他方法吗?

最佳答案

试试这个

keyValue = 'Salary'

params = {'data__%s__gte' % keyValue:15000}
TableName.objects.filter(**params)

关于python - 在 postgresql django 中查询 JSONField 的另一种方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48320868/

相关文章:

Python:需要捕获 open() 异常吗?

java - Python 与 Java 性能(运行时速度)

python - uWSGI + Docker : pyuwsgi: executable file not found in $PATH

Django:防止模型上的查询集删除?

sql - PostgreSQL:在对另一列进行排序时在单列上选择不同的值

python - 查询后可以过滤查询集吗? Django

python - 如果与黑白图像一起使用,OpenCV findContours() 会报错

python - 在 Windows 8 上安装 Google Cloud SDK 时遇到问题

python - Django 'AsgiRequest' 对象没有属性 'content_type'

sql-server - 使用 Talend 在 SQL Server 和 Postgres 之间转换日期