X-Git-Url: http://git.veekun.com/zzz-pokedex.git/blobdiff_plain/abf31f8e520d12b53f1aba5405b202af09d56aca..eb93dc6790c6735a20ab5c30130ec013118e41ff:/pokedex/db/tables.py diff --git a/pokedex/db/tables.py b/pokedex/db/tables.py index e71fc97..dfbb951 100644 --- a/pokedex/db/tables.py +++ b/pokedex/db/tables.py @@ -17,6 +17,7 @@ class Ability(TableBase): __singlename__ = 'ability' id = Column(Integer, primary_key=True, nullable=False) name = Column(Unicode(24), nullable=False) + generation_id = Column(Integer, ForeignKey('generations.id'), nullable=False) flavor_text = Column(Unicode(64), nullable=False) effect = Column(Unicode(255), nullable=False) @@ -628,6 +629,8 @@ class Version(TableBase): ### Relations down here, to avoid ordering problems +Ability.generation = relation(Generation, backref='abilities') + Berry.berry_firmness = relation(BerryFirmness, backref='berries') Berry.firmness = association_proxy('berry_firmness', 'name') Berry.flavors = relation(BerryFlavor, order_by=BerryFlavor.contest_type_id, backref='berry') @@ -667,6 +670,9 @@ Generation.canonical_pokedex = relation(Pokedex, backref='canonical_for_generati Generation.versions = relation(Version, secondary=VersionGroup.__table__) Generation.main_region = relation(Region) +GrowthRate.max_experience_obj = relation(Experience, primaryjoin=and_(Experience.growth_rate_id == GrowthRate.id, Experience.level == 100), uselist=False) +GrowthRate.max_experience = association_proxy('max_experience_obj', 'experience') + Item.berry = relation(Berry, uselist=False, backref='item') Item.flags = relation(ItemFlag, secondary=ItemFlagMap.__table__) Item.flavor_text = relation(ItemFlavorText, order_by=ItemFlavorText.version_group_id.asc(), backref='item')