首页 > db.session.commit()的时候抛出sqlalchemy.exc.IntegrityError错误?

db.session.commit()的时候抛出sqlalchemy.exc.IntegrityError错误?

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的时候是没有报错的。。。

求教,谢谢~


好吧....我已经知道为什么了....这是不了解relationship导致的.....还有就是创建p实例写错了。。

【热门文章】
【热门文章】