SQLObject should determine joinColumn from Class Name
SQLObject is a Python ORM.
Brought to you by:
ianbicking,
phd
Currently SQLObject determines the joinColumn for MultipleJoin from the name of the table.
In the documentation it is recommended to use "user_table" as a table for an class called User. When one now creates another class, e.g. Address that has a ForeignKey from User in a column called "user", one needs to add joinColumn='user_id' to the MultipleJoin definition within the User class, otherwise one only gets a totally strange python traceback, when one tries to access u.addresses.
I attached a simple example, that makes it more clear, where the problem here is.
I use python-sqlobject-0.9.2-1.fc7 from Fedora.
minimal example of described problem with MultipleJoin
Logged In: YES
user_id=60606
Originator: YES
Even better would be, if it was possible to use:
addresses = MultipleJoin(Address.user)
and then SQLObject would determine by itself whatever the column_id of Address.user is, without the user of SQLObject needing to know how the internalf of SQLObject work.