9
我正在使用本教程作爲指導。 http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-iv-database燒瓶數據庫問題
我想擁有可以激發多個產品的類別。類似於他擁有多個帖子的用戶。
當我打開了Python解釋器,並嘗試創建一個類別
>>>from app import db, models
>>>u = models.Category(name="Test")
我得到這個錯誤
/sqlalchemy/orm/properties.py", line 1387, in _generate_backref
self, mapper))
sqlalchemy.exc.ArgumentError: Error creating backref 'category' on relationship 'Category.products': property of that name exists on mapper 'Mapper|Product|product'
所以有與backref一個問題。在教程中(我已經用他的代碼嘗試過了),他可以使用類似語法的用戶。
我甚至嘗試過使用他所有的文件,並創建並遷移了一個新的數據庫,並得到相同的錯誤。
這裏是我的models.py文件:
from app import db
WR_IP_NO = 0
WR_IP_YES = 1
class Category(db.Model):
id = db.Column(db.Integer, primary_key = True)
name = db.Column(db.String(64), unique = True)
products = db.relationship('Product', backref = 'category', lazy = 'dynamic')
def __repr__(self):
return '<Category %r>' % (self.name)
class Product(db.Model):
id = db.Column(db.Integer, primary_key = True)
category = db.Column(db.String(64), db.ForeignKey('category.id'))
courseName = db.Column(db.String(120), unique = True)
ip = db.Column(db.SmallInteger, default = WR_IP_YES)
duration = db.Column(db.Integer)
productRev = db.Column(db.String(64))
#use when database is updated?
releaseDate = db.Column(db.DateTime)
def __repr__(self):
return '<Category> %r>' % (self.courseName)
非常感謝你 – Siecje 2013-02-14 14:09:33
這是否強制將SQL數據庫字段類別重命名爲category_id? – Herbert 2014-04-14 13:16:21