Added PokemonMove.machine relation.
authorEevee <git@veekun.com>
Sat, 28 Nov 2009 10:14:39 +0000 (02:14 -0800)
committerEevee <git@veekun.com>
Sat, 28 Nov 2009 10:20:02 +0000 (02:20 -0800)
pokedex/db/tables.py

index 01cc6a0..3e58c1c 100644 (file)
@@ -4,6 +4,7 @@ from sqlalchemy import Column, ForeignKey, MetaData, Table
 from sqlalchemy.ext.declarative import declarative_base
 from sqlalchemy.ext.associationproxy import association_proxy
 from sqlalchemy.orm import backref, relation
+from sqlalchemy.sql import and_
 from sqlalchemy.types import *
 from sqlalchemy.databases.mysql import *
 
@@ -534,6 +535,11 @@ PokemonFormSprite.introduced_in = relation(VersionGroup)
 
 PokemonMove.pokemon = relation(Pokemon, backref='pokemon_moves')
 PokemonMove.version_group = relation(VersionGroup)
+PokemonMove.machine = relation(Machine, backref='pokemon_moves',
+                               primaryjoin=and_(Machine.version_group_id==PokemonMove.version_group_id,
+                                                Machine.move_id==PokemonMove.move_id),
+                                foreign_keys=[Machine.version_group_id, Machine.move_id],
+                                uselist=False)
 PokemonMove.move = relation(Move, backref='pokemon_moves')
 PokemonMove.method = relation(PokemonMoveMethod)