Rethinkdb python处理空结果

k3z*_*k3z 5 python database exception-handling rethinkdb

使用rethinkb和python处理空结果的最佳技巧是什么.我试试这个,但捕捉异常并不令人满意.

@staticmethod
def get_by_mail(mail):
    try:
        return User(
            r.table('users').filter({"mail": mail}).limit(1).nth(0).run()
        )
    except RqlRuntimeError:
        return None
Run Code Online (Sandbox Code Playgroud)

如果有人尝试过其他技术,我很感兴趣.谢谢你的帮助.

Joe*_*ner 3

处理这个问题最简单的方法可能是添加您想要返回的元素union

r.table('users').filter({"mail": mail}).limit(1).union([{}])[0]
Run Code Online (Sandbox Code Playgroud)

这是一个有点丑陋的解决方法,但它应该可以解决问题。我认为我们应该扩展default语法来处理这个问题。我要为此提出一个问题。