【发布时间】:2020-03-06 15:12:52
【问题描述】:
我正在使用flask_restful 创建一个API,并且我想使用将由GET、tag 和author 传递的两个参数进行搜索。
使用下面的代码我可以做到这一点。但是,我必须传递这两个参数。我希望用户传递的任何参数仍然搜索它,
示例: 如果我通过了 tag=tech,则响应应该包含所有带有标签技术和所有作者的新闻,如果我也通过了作者,它应该将标签视为全部 - 我想你明白了 -
class ArticleAPI(Resource):
def get(self):
tag=request.args.get('tag','')
auth=request.args.get('author','')
news = News.objects.filter(topic=tag,author=auth).to_json()
return Response(news, mimetype="application/json", status=200)
我知道我可以像这样做很长时间,但它看起来很丑:`(
if tag is not None and auth is not None :
news = News.objects.filter(topic=tag,author=auth).to_json()
elif tag is not None :
news = News.objects.filter(topic=tag).to_json()
elif auth is not None:
news = News.objects.filter(author=auth).to_json()
我正在使用 Flask_mongoengine
from flask_mongoengine import MongoEngine
db = MongoEngine()
def initialize_db(app):
db.init_app(app)
【问题讨论】:
标签: python mongodb flask mongoengine flask-mongoengine