显然,很多ORM都是这样做的:
query.filter(username == "bob")
生成类似
的SQL... WHERE username = 'bob'
为什么要覆盖 == 运算符而不是像:
query.filter(username.eq("bob"))
答案 0 :(得分:4)
这是一个主观的问题,但总的来说我会说前者的语法更直观,而且由于许多(如果不是大多数)ORM都是这样做的,所以通常会预期(使其更直观)。
答案 1 :(得分:0)
orm的重点在于对象和关系世界之间的“阻抗不匹配”,所以理论上你可以在sql世界中幸福地不知道“=”并使用对象世界的“==”。