From 0946db6b8b30b5fdaa8cd6eb276f793a026604e1 Mon Sep 17 00:00:00 2001 From: Eevee Date: Tue, 18 Aug 2009 23:49:49 -0700 Subject: [PATCH] Fixed some weirdness using version_group as a one-to-many. --- pokedex/db/tables.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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')