小田切です。
> ちょっと質問なんですが、これは、SQLAlchemyを使う場合の問題なんでしょう
> か?それともIdentity自体のバグなんでしょうか?
SQLAlchemyを使った場合ですね。
SQLObjectを使用したIdentityはそれなりに動いています。
まだ、本家のtracを調べてないのですが、今のところ遭遇したのは以下の場合です。
@identity.require(identity.in_group("admin"))
上記のアクセス制限をかけたメソッドにadminグループでないユーザーで
アクセスした際に以下の例外が発生しました。
iteration over non-sequence
adminグループのユーザーでは正常にログインして画面表示まで行きます。
参考
http://trac.turbogears.org/turbogears/wiki/IdentityManagement
以上
06/05/02 に Hiroki Ohtani<[EMAIL PROTECTED]> さんは書きました:
> おおたにです。
>
> レポートありがとうございます。
> ちょっと質問なんですが、これは、SQLAlchemyを使う場合の問題なんでしょう
> か?それともIdentity自体のバグなんでしょうか?
>
> # 0.9a5はスキップして0.9a6を待った方がいいのかな?
>
>
> odagiri atsushi wrote:
> > 小田切です。
> > 自己レス
> >
> > 先ほどのメールの内容での手順後、いくつか試したところ、Group, Permissionのデータは作成できましたが、User,
> > VisitIdentityはだめでした。
> >
> > InvalidRequestError: Class 'VisitIdentity' entity name 'None' has no
> > mapper asso
> > ciated with it
> >
> > あと実際に立ち上げると、同様の例外が発生してしまいます。
> >
> > InvalidRequestError: Class 'TG_Visit' entity name 'None' has no
> > mapper associated with it
> >
> > パッチの適用(0.9a6?)を待った方がいいんですかねぇ。
> >
> >
> > 06/05/01 に odagiri atsushi<[EMAIL PROTECTED]> さんは書きました:
> >> 小田切です。
> >>
> >> 玉川様貴重な情報をありがとうございます。
> >>
> >> まだまだコードが枯れていない感じですね。
> >> ひとまず、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]
> >> */
> >>
> >
> >
> > --
> > /*
> > 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
-~----------~----~----~----~------~----~------~--~---