2017-06-12 111 views
0

比如我有簡單的模型:燒瓶SQLAlchemy的變換場查詢

class A(db.Model): 
    id = db.Column(db.Integer, primary_key=True) 
    value = db.Column(db.Float) 
    # some other fields... 

我需要有時(在只有一個查詢),以獲得與value字段乘以-1的對象。在其他查詢中,我需要獲得具有正常值字段的對象。我如何做到這一點?

謝謝!

+1

你的意思是說你想獲取一個實體對象,它們的值屬性設置爲'value * -1'?這似乎很奇怪。你能否在你的問題中包含更多的背景知識? –

+0

是的,我有特殊情況,當我需要查看具有'value * -1'的實體對象時。在其他情況下,我不需要這個。 – user1817242

+1

你不能只在視圖中包含該邏輯嗎? –

回答

0

我建議@property的方法,在這裏你可以使用模型的原始屬性分配一個邏輯操作:

class A(db.Model): 
    id = db.Column(db.Integer, primary_key=True) 
    value = db.Column(db.Float) 
    # some other fields... 

    @property 
    def inverted_value(self): 
     return self.value * -1 

現在爲A任何情況下,你可以訪問屬性inverted_value

例如:

a = A(value=1) 
a.value # 1 
a.inverted_value # -1 

現在,每當你需要的反轉值,剛剛接觸而不是原來的一個新創建的屬性。