所以我試圖建立一個數據庫,其中的行將經常修改。例如,每隔一小時,我想爲數據庫的特定部分添加一個數字。因此,如果self.checkmarks
被輸入數據庫相當於3
,什麼是最好的方式來更新這部分的數據庫與一個增加的數字,使self.checkmarks
現在等於3, 2
?我試圖建立列db.Array
但得到一個屬性錯誤:SQLalchemy數據庫列應該包含數據數組的模型是什麼?
AttributeError: 'SQLAlchemy' object has no attribute 'Array'
我已經找到了如何更新數據庫,但我不知道通過添加到列表中,而不是替換更新的最佳方式。我的方法是如下的,但我不認爲append
會起作用,因爲該列不能是一個數組:
ven = data.query.filter_by(venid=ven['id']).first()
ven.totalcheckins = ven.totalcheckins.append(ven['stats']['checkinsCount'])
db.session.commit()
提前
您是否熟悉SQLAlchemy(或通用關係數據庫)上的[relationships](http://docs.sqlalchemy.org/en/rel_0_7/orm/relationships.html)? –
我在文檔中閱讀了一些關於它們的內容,但不是真的。這是值得探索嘗試和實現這種效果? – zch
是的。在這種情況下,一對多關係正是你想要的。 SQLAlchemy的文檔是** excelent **,我建議你先閱讀。您會看到,我在第一條評論中發佈的鏈接中解釋的第一個案例正是您想要的:您需要爲您的「checkmarks」添加一個額外的表,該表與您的父表具有外鍵關係。當你定義一個涉及兩個表的關係時,SQLAlchemy會自動將它映射到一個集合。 –