Joinで繋げたい先のテーブルが存在しないと%tg-admin sql createコマンドに失敗する。じゃあ、繋げたい先のテーブルを元のテーブルより前に作成するにはどうするのか。turbogearsが使っているSQLObjectはその制御をsoClassesという配列の中身に沿って処理するので、そこに作成する順番を指定するという話。
soClasses = ("Bar", "Foo")
class Foo(SQLObject):
name = UnicodeCol()
bars = MultipleJoin("Bar")
class Bar(SQLObject):
class sqlmeta:
table = "barre"
attr = UnicodeCol()
みたいな感じで。