From 3a8097b37302ff0c1fa922407cf7bcfd853a1989 Mon Sep 17 00:00:00 2001 From: Eevee Date: Sun, 13 Mar 2011 23:43:08 -0700 Subject: [PATCH] Tidy up relation creation for name tables. --- pokedex/db/tables.py | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/pokedex/db/tables.py b/pokedex/db/tables.py index 6c18177..6e23ebf 100644 --- a/pokedex/db/tables.py +++ b/pokedex/db/tables.py @@ -1884,24 +1884,22 @@ def makeTextTable(object_table, name_plural, name_singular, columns, lazy): ) mapper(Strings, table, - properties={ - "object_id": synonym(safe_name + '_id'), - "language": relation( - Language, - primaryjoin=table.c.language_id == Language.id, - ), - }, - ) + properties={ + "object_id": synonym(safe_name + '_id'), + "language": relation(Language, + primaryjoin=table.c.language_id == Language.id, + ), + safe_name: relation(object_table, + primaryjoin=(object_table.id == table.c[safe_name + "_id"]), + backref=backref(name_plural, + collection_class=attribute_mapped_collection('language'), + lazy=lazy, + ), + ), + }, + ) # The relation to the object - setattr(object_table, name_plural, relation( - Strings, - primaryjoin=(object_table.id == Strings.object_id), - backref=safe_name, - collection_class=attribute_mapped_collection('language'), - lazy=lazy, - )) - str(getattr(object_table, name_plural)) # [MORE MAGIC]. aka do not remove, or entire app fails. XXX what the fuck man Strings.object = getattr(Strings, safe_name) # Link the tables themselves, so we can get them if needed -- 2.7.4