# Create the table object
table = Table(_table_name, foreign_class.__table__.metadata,
Column(foreign_key_name, Integer, ForeignKey(foreign_class.id),
- primary_key=True, nullable=False),
+ primary_key=True, nullable=False,
+ info=dict(description="ID of the %s these texts relate to" % foreign_class.__singlename__)),
Column('local_language_id', Integer, ForeignKey(language_class.id),
- primary_key=True, nullable=False),
+ primary_key=True, nullable=False,
+ info=dict(description="Language these texts are in")),
)
Translations.__table__ = table
setattr(foreign_class, name + '_map',
association_proxy(relation_name, name, creator=creator))
+ # Add to the list of translation classes
+ foreign_class.translation_classes.append(Translations)
+
# Done
return Translations
@property
def default_language(self):
- # XXX need to get the right mapped class for this to work
- raise NotImplementedError
+ # Need to import tables here to avoid a circular dependency
+ from pokedex.db import tables
+ query = self.query(tables.Language)
+ query = query.filter_by(id=self._default_language_id)
+ return query.one()
@default_language.setter
def default_language(self, new):
- self._default_language_id = new#.id
+ self._default_language_id = new.id
@default_language.deleter
def default_language(self):