I believe what you need to do is get an instance of a language object

something like:
item.Language = session.query(Language).filter_by(name='en').first()

There maybe a better way to do this, but its how I currently do it (so 
if there is a better way I would like to know).

paftek wrote:
> Hi,
>
> Sorry for this meaningless subject !
> I am learning SQLAlchemy and I installed version 0.4.1 few days ago.
>
> My problem is probably easy to solve. I swear I have read a good part
> of the documentation, and searched this group ! But...
>
> Short example. Two tables :
> - "languages" having a sequence as primary key and a column of unique
> short names  ('en', 'fr', etc.)
> - "items" having a foreign key on 'language_id' (see Python code
> below)
>
> When creating a new item, it is not significant to fill the foreign
> key value with a integer. I wish the mapper had a way to find it
> through the unique language name :
>
> item = Item()
> item.name = 'A great item'
> item.language_name = 'en'
> session.save(item)
>
> Please, how to do that ?
>
> Cheers
>
> --------------------------------------------------------------------------------
>
> languages_table = Table('languages', metadata,
>     Column('language_id', PGInteger, Sequence('language_id_seq'),
> primary_key=True),
>     Column('name', Unicode(), nullable=False, unique=True)
> )
> items_table = Table('items', metadata,
>     Column('item_id', PGInteger, Sequence('item_id_seq'),
> primary_key=True),
>     Column('language_id', PGInteger,
> ForeignKey('languages.language_id'), primary_key=True),
>     Column('name', Unicode(), nullable=False)
> )
> class Item(object): pass
>
> >
>
>   



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to