比如
sql = select * from book where left('name',1)!='z'
用 orm 我目前只能想到
book.objects.extra(where=["left('name',1)!='z' "])
或者
from django.db.mdels.functions import Left
book.objects.annotate(name_left=Left('name',1)).filter(~Q(name_left='z'))
第一种要写原生 sql,第二种不写原生 sql,但是 白白加了一个 name_left 字段, 有没有这种使用了 sql 函数,还能做判断的 ,通过 ORM 写出来的
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.