X-Git-Url: http://git.veekun.com/zzz-pokedex.git/blobdiff_plain/42b3f30e59d51f54699ba77ebb46ae58593098bb..e3a947d5fd6bce7a0bddf9f40c8b667c3c996d7a:/pokedex/db/tables.py diff --git a/pokedex/db/tables.py b/pokedex/db/tables.py index 0ed200c..57207dd 100644 --- a/pokedex/db/tables.py +++ b/pokedex/db/tables.py @@ -2,6 +2,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.types import * from sqlalchemy.databases.mysql import * @@ -366,6 +367,8 @@ class Version(TableBase): version_group_id = Column(Integer, ForeignKey('version_groups.id'), nullable=False) name = Column(Unicode(32), nullable=False) + generation = association_proxy('version_group', 'generation') + ### Relations down here, to avoid ordering problems Encounter.pokemon = relation(Pokemon, backref='encounters') @@ -381,6 +384,8 @@ EncounterTypeSlot.type = relation(EncounterType, backref='slots') EvolutionChain.growth_rate = relation(GrowthRate, backref='evolution_chains') +Generation.versions = relation(Version, secondary=VersionGroup.__table__) + LocationArea.location = relation(Location, backref='areas') Machine.generation = relation(Generation) @@ -443,8 +448,6 @@ Type.target_efficacies = relation(TypeEfficacy, ==TypeEfficacy.target_type_id, backref='target_type') -Version.generation = relation(Generation, secondary=VersionGroup.__table__, - backref='versions') Version.version_group = relation(VersionGroup, backref='versions') VersionGroup.generation = relation(Generation, backref='version_groups')