小田切です。 玉川様貴重な情報をありがとうございます。
まだまだコードが枯れていない感じですね。 ひとまず、Identity関連のテーブルについてアクセスできたので、報告します。 http://groups.google.com/group/turbogears-ja/browse_thread/thread/b39894f367b00114/ca02fb58bda06755#ca02fb58bda06755 まず上記での追加コードはそのまま必要です。 さらに以下の部分を変更しました。 class Groupにおいて、permissionsのmany_to_many宣言にtypoがあるので修正 (http://trac.turbogears.org/turbogears/ticket/801 参照) さらにuser_groupとgroup_permissionの宣言中に、group.group_idとありますが、 class Groupの__table__ は tg_groupとなっているのでtg_group.group_idに修正 以上の手順を踏んだ後、tg-admin shellが正常に起動しました。 さらにデータ作成です。 >> import model >> model.Group.table.create() >> g = model.Group() >> g.group_name = "admin" >> g.display_name = "Administrator" >> g.commit() >> model.Group.select()[0].group_name admin 以上、現状でのSQLAlchemyの使い方でした。 06/05/01 に ryuji tamagawa<[EMAIL PROTECTED]> さんは書きました: > はじめまして、玉川と申します。やっとこのGWからTG触り始めました。 > 20miuite wikiやっている途中に0.9a5がでてきてちょっとびっくり(^^; > > で、自分では試していませんが、下記の件、本家のMLでも話がでて > いました。パッチを作られた方がおられます。 > > http://trac.turbogears.org/turbogears/ticket/801 > > -- > [EMAIL PROTECTED] > > > > On 5/1/06, odagiri atsushi <[EMAIL PROTECTED]> wrote: > > > 小田切です。 > > > 日本はゴールデンウィーク中なのに、TurboGears 0.9a5がリリースされちゃって > > います。 > ああもう、いじらないわけにはいかないですね。 > > > 小田切さんはすでに使われたようですが、 > > 期待にこたえられないのですが、SQLAlchemyで生成させた後、 > 動作させるところまでいっていません。 > おそらくSQLAlchemyに関する設定がまだ必要なのだと思いますが、 > 誰か動かせた方はいらっしゃいます? > > 以下は参考にしたURLです。 > http://nerd.newburyportion.com/2006/02/turbogears-is-now-unstoppable > http://trac.turbogears.org/turbogears/wiki/UsingSqlAlchemy > > 私が試した手順は、以下のとおり > tg-admin quickstart > Enter project name: alchemy_sample > Enter package name [alchemy_sample]: > Do you need Identity (usernames/passwords) in this project? [no] yes > Select your provider sqlobject or sqlalchemy [sqlobject]: sqlalchemy > > model.py > -------------- > 先頭の数行はSQLObject用のテンプレートがそのまま残っているようなので削除 > こっから > from sqlobject import * > from turbogears.database import PackageHub > > hub = PackageHub("alchemy_sample") > __connection__ = hub > > # class YourDataClass(SQLObject): > # pass > ここまでを削除 > > __engine__がないので追加 > > from turbogears.database import PackageEngine > __engine__ = PackageEngine("alchemy_sample") > > さらに足らないモジュールをインポート > from sqlalchemy import * > > 設定変更 > dev.cfg > ---------- > sqlalchemy.dburi="sqlite:///c|/works/alchemy_sample.db" > sqlalchemy.echo=1 > > で、テーブル作成ですが… > tg-admin sqlはSQLObject用です。 > SQLObjectの接続設定もない状態なので、やっぱり落ちました。 > > tg-admin shellを走らせようとしても以下の例外で落ちます。 > sqlalchemy.exceptions.ArgumentError: Table 'None.group' not > defined > > これで立ち上げてアクセスすると以下の例外で止まってしまいます。 > InvalidRequestError: Class 'TG_Visit' entity name 'None' has no mapper > associated with it > > 今のところここまでしか試してないです。 > > > O/R Mapperとして、SQLObjectと > > SQLAlchemyが選択できるようです。SQLAlchemyって全然調べていないんですが、 > > どうなんでしょう? > > SQLObjectがアクティブレコードなのに対してSQLAlchemyがO/Rマッピングということで、 > 使い分けることになるでしょう。 > アクティブレコードの場合、テーブル=クラス、行=オブジェクトとして、振る舞いを追加していくということで直感的な反面複雑なことができません。 > O/Rマッピングは複雑なこと(たとえば複数テーブルの結合結果や集約結果をオブジェクトにする)ができます。そのかわりクラスとテーブルの間にマッピングという中間層が増えます。 > > > > 06/05/01 に Hiroki Ohtani<[EMAIL PROTECTED]> さんは書きました: > > おおたにです。 > > > > 日本はゴールデンウィーク中なのに、TurboGears 0.9a5がリリースされちゃって > > います。 > > > http://groups.google.com/group/turbogears/browse_thread/thread/88e19836c2f86e18/b0cf78d0c800c2f7 > > > > login_form関係で一部backword compatibilityが無くなったりしています。 > > > > 小田切さんはすでに使われたようですが、O/R Mapperとして、SQLObjectと > > SQLAlchemyが選択できるようです。SQLAlchemyって全然調べていないんですが、 > > どうなんでしょう? > > > > > > > > > > -- > /* > Atsushi Odagiri > mailto:[EMAIL PROTECTED] > */ > > > > > > -- /* Atsushi Odagiri mailto:[EMAIL PROTECTED] */ --~--~---------~--~----~------------~-------~--~----~ これは、お客様が次の Google グループに申し込まれたことを確認するメッセー ジです。 Google Groups "turbogears-ja" group. To post to this group, send email to [email protected] このグループから退会するには、次へメールをお送りください。 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/turbogears-ja -~----------~----~----~----~------~----~------~--~---

