class Category(db.Model):
id = db.Column(db.Integer, primary_key=True)
category = db.Column(db.String(80))
posts = db.relationship('Post', backref="posts", lazy="dynamic")
def __repr__(self):
return "<Category %s>" % self.category
class Post(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(120))
content = db.Column(db.Text)
timestamp = db.Column(db.DateTime)
category_id = db.Column(db.Integer, db.ForeignKey('category.id'))
def __repr__(self):
return "<Post %s>" % self.title
在shell里面执行下面的代码的时候不会报错
>>> c=Category(category='flask') >>> db.session.add(c) >>> db.session.commit()
可是执行下面的代码的时候就抛出sqlalchemy.exc.IntegrityError错误了。
>>> p=Post(title='test', content='ccc', timestamp=datetime.utcnow(), category_id=c) >>> db.session.add(c) >>> db.session.commit()
我不知道哪里做错了。。估计是ForeignKey的问题?
以前不用ForeignKey的时候是没有报错的。。。
求教,谢谢~
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
好吧....我已经知道为什么了....这是不了解relationship导致的.....还有就是创建p实例写错了。。