Here are the examples of the python api sqlalchemy_utils.merge_references taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
4 Examples
3
Example 1
Project: sqlalchemy-utils Source File: test_merge_references.py
def test_updates_foreign_keys(self, session, User, BlogPost):
john = User(name=u'John')
jack = User(name=u'Jack')
post = BlogPost(title=u'Some title', author=john)
post2 = BlogPost(title=u'Other title', author=jack)
session.add(john)
session.add(jack)
session.add(post)
session.add(post2)
session.commit()
merge_references(john, jack)
session.commit()
assert post.author == jack
assert post2.author == jack
3
Example 2
Project: sqlalchemy-utils Source File: test_merge_references.py
def test_object_merging_whenever_possible(self, session, User, BlogPost):
john = User(name=u'John')
jack = User(name=u'Jack')
post = BlogPost(title=u'Some title', author=john)
post2 = BlogPost(title=u'Other title', author=jack)
session.add(john)
session.add(jack)
session.add(post)
session.add(post2)
session.commit()
# Load the author for post
assert post.author_id == john.id
merge_references(john, jack)
assert post.author_id == jack.id
assert post2.author_id == jack.id
3
Example 3
def test_supports_associations(self, session, User, Team):
john = User(name=u'John')
jack = User(name=u'Jack')
team = Team(name=u'Team')
team.members.append(john)
session.add(john)
session.add(jack)
session.commit()
merge_references(john, jack)
assert john not in team.members
assert jack in team.members
3
Example 4
def test_supports_associations(self, session, User, Team, TeamMember):
john = User(name=u'John')
jack = User(name=u'Jack')
team = Team(name=u'Team')
team.members.append(TeamMember(user=john))
session.add(john)
session.add(jack)
session.add(team)
session.commit()
merge_references(john, jack)
session.commit()
users = [member.user for member in team.members]
assert john not in users
assert jack in users