我有两张桌子:Person & Team;每个都与另一个具有多对多关系。
我在setUp
函数中执行此操作(在每个测试函数之前调用,在我的情况下为 3 次)
p = Person(fname=u"John", lname=u"Doe")
Team(name=u"Anon", persons=[p])
session.commit()
还有我的tearDown
函数(在每个测试函数之后调用)
Person.query.delete()
Team.query.delete()
session.commit()
第一次测试通过,但是当setUp
第二次被调用时,我得到了这个:
IntegrityError: (IntegrityError) columns person_id, team_id are not unique u'INSERT INTO team_persons__person_teams (person_id, team_id) VALUES (?, ?)' (5, 1)
似乎 delete 第一次并没有真正删除行。我不明白为什么会这样。