【发布时间】:2021-03-19 13:53:20
【问题描述】:
我想构建一个过滤器查询,当我调用通用过滤器函数('filter_it('username', ' =', 'test_user')。
最简单的例子:
# grab the user, apply filter
result = User.objects().filter(username="test_user")
# print result
print(result.get())
返回:
test_user
现在如果我尝试使用变量:
# set query
query = 'username="test_user"'
# grab the user, apply filter
result = User.objects().filter(query)
# print result
print(result.get())
返回:
mongoengine.errors.InvalidQueryError: Not a query object: username="test_user". Did you intend to use key=value?
我曾尝试使用raw queries 构建它,但未能成功。我也尝试过使用 .format() 无济于事。似乎custom queryset 可能会解决问题,但不能以我想要的方式应用。
有没有人有任何建议、想法或解释?我认为问题在于将字符串作为查询对象传递,但我似乎无法在 mongoengine 文档中找到解释或替代方法。
【问题讨论】: