0
我建立在燒瓶內的簡單的應用程序,並具有與製作數據庫舉止得體,而使用燒瓶SQLAlchemy的難度值。這裏是我的models.py:燒瓶SQLAlchemy的db.commit()改變字段
from spot import plate
from spot import db
import flask.ext.whooshalchemy as whooshalchemy
class Country(db.Model):
id = db.Column(db.Integer, primary_key = True)
country_name = db.Column(db.String(64), unique = True)
codes = db.relationship('Code', backref='country', lazy='dynamic')
def __repr__(self):
return '<%r>' % (self.country_name)
class Code(db.Model):
__searchable__ = ['scramble']
id = db.Column(db.Integer, primary_key = True)
scramble = db.Column(db.String(64), db.ForeignKey('country.id'))
def __repr__(self):
return '<%r>' % (self.scramble)
whooshalchemy.whoosh_index(plate, Code)
我試圖創建一些測試數據,看看是否關係工程,我期望它,但由於某些原因,當我創建一個新的代碼,並將其提交到數據庫,東西覆蓋我的爭搶字段的值設爲「1」,具體如下:
>>> from spot.models import Country, Code
>>> from spot import db
>>> c = Country(country_name="Testingstan")
>>> cd = Code(scramble="TS", country=c)
>>> cd.scramble
'TS'
>>> db.session.add(c)
>>> c.country_name
'Testingstan'
>>> db.session.add(cd)
>>> cd.scramble
'TS'
>>> db.session.commit()
>>> c.country_name
u'Testingstan'
>>> cd.scramble
u'1'
>>> for code in c.codes:
... print code
...
<u'1'>
所以我感覺有信心,國家和代碼之間的關聯被適當地進行,但爲什麼是SQLAlchemy的覆蓋我的爭議,但不是我的國名?我在一個sqlite數據庫瀏覽器中拉起了數據庫,它向我展示了同樣的東西。我有什麼不正確的設置?
這就是它 - 我的愚蠢的錯誤。謝謝! –