我知道在Django中将API过滤添加到其他API是否非常容易。
/api?name=joseph&age=5. # I already have that
但是,我正在使用react包来生成查询,并且它会这样生成SQL字符串:
"name = 'joseph' AND age = 5"
我想知道用SQL字符串过滤表的最简单方法是什么。该查询可以嵌套有OR,AND和NOT。请帮助..
在django中执行原始sql查询很容易你表演。只是您需要在您的查询集中添加raw并执行模型构建。
以下是您参考的代码片段
>>> Person.objects.raw('SELECT id, first_name, last_name, birth_date FROM myapp_person')
...
>>> Person.objects.raw('SELECT last_name, birth_date, first_name, id FROM myapp_person')
...
根据您的要求的示例:
name = 'joseph'
age = 5
sqlQuery = "SELECT * from <DBNAME> where name = "+name+" AND age = "+age
result = Person.objects.raw(sqlQuery)
# use of OR operator
name = 'joseph'
age = 5
result = Person.objects.filter(name=name) | Person.objects.filter(age=age)
## use of AND operator
name = 'joseph'
age = 5
result = Person.objects.filter(name=name).filter(age=age)
您可以在这里阅读more