【发布时间】:2014-10-06 06:48:56
【问题描述】:
我有 POST 数据:
filter[param1][type]:text
filter[param1][range]:null
filter[param1][suffix]:
filter[param1][prefix]:
filter[param1][v][text]:33
filter[param1][v][type]:has
filter[param2][type]:text
filter[param2][range]:null
filter[param2][suffix]:
filter[param2][prefix]:
filter[param2][v][text]:make
filter[param2][v][type]:has
...
在我看来,这是 POST 请求的处理程序: filter = (request.POST.get('filter', False))
if (filter is not False):
filter_obj = json.loads(filter)
for key, value in filter_obj.items():
if value.get('v') is not None:
filters[key] = value.get('v').get('text')
需要准备多个 SQL 条件,其中:
WHERE (
param1 = 33 AND
param2 = make AND
...
)
我如何在 Django 中做到这一点?
【问题讨论】:
-
你有没有在网上查过如何编写 Django where 子句?那里有很多 :) 你尝试了什么?
-
是的。我发现条件如下: conditions['table_name'] = 'Q( row_name = param_text )' 但我不能将它与动态数据一起使用
-
你的意思是动态的,你的数据来自一个post http请求?你的动态数据在
filter[param1]和filter[param2]中吗?您能否提供有关您的数据的更多详细信息? -
我想获得原始文本解决方案,因为我计划使用 alias_name 到表格。
-
所以您有兴趣使用
Raw SQL query而不是 Django Query 搜索器?