2014-03-19 43 views
2

我正在嘗試使用SQLAlchemy做相當於 cast(regexp_replace(entry.page_title,'.*::: ','') AS INT)SQLAlchemy:如何對列值執行regexp_replace

我看到你可以使用hybrid properties在ORM映射類上執行函數。 我試過以下,但我不能真正看到你如何使用混合屬性做字符串替換。

class Entry(object): 

    def __init__(self, page_title): 
     self.page_title = page_title 

    @hybrid_property 
    def original_brand_id(self): 
     return self.page_title.partition(' ::: ')[-1] 
     ###OR ALSO TRIED DOING: 
     return re.sub(r'[.*::: ]','',self.page_title) 

我知道,問題是,我想對待條目的PAGE_TITLE爲string時,它實際上是一個InstrumentedAttribute。但是我不清楚如何獲取字符串值,以便讓它做到我想要的。

這有可能嗎?

回答

4

原來存在於這個FUNC所以我可以做

@hybrid_property 
def original_brand_id(self): 
    return cast(func.regexp_replace(self.page_title, '.*::: ',''), Numeric) 

我只想刪除這個問題,但我花了這麼長的時間谷歌的搜索,發現了我只是要如果有其他人需要,請留下此處。