使用sqlalchemy.sql.functions.char_length作为过滤条件

时间:2011-07-06 16:41:45

标签: python sqlalchemy python-elixir

我正在使用Elixir和sqla 0.6,我正在尝试查询我的模型:

class Document(Entity): 
    using_options(shortnames=True, order_by='doc_date')
    doc_number = Field(Unicode(20),index=True)

...对于具有给定长度的数字的文档。

我在考虑这样的事情:

Document.query.filter(Document.doc_number.char_lenght()==5).all()

...但显然,在sqlalchemy.sql.functions中出现的char_length在这里不起作用。如何在声明性习语中使其工作,而不需要直接查询?

1 个答案:

答案 0 :(得分:6)

好的,找到答案:

from sqlalchemy import func
Document.query.filter(func.char_length(Document.doc_number)==5).all()