2

ドキュメントは、これをどこかに置くように言います:

from sqlalchemy import event
from colanderalchemy import setup_schema
event.listen(mapper, 'mapper_configured', setup_schema)

これは Pyramid のどこに行くべきですか? SQLAlchemy の代わりに Pyramid イベントを使用する必要がありますか?

models.py ファイルの先頭に配置しようとすると、mapper存在しないと不平を言いました。私はまだそれを使用する必要がありますか?

4

2 に答える 2

1

テスト スイートは、次のように動作することを示しています。

from sqlalchemy import event
from colanderalchemy import setup_schema
from sqlalchemy.orm import mapper

event.listen(mapper, 'mapper_configured', setup_schema)

これで問題が解決するかどうかお知らせください。それに応じてドキュメントを更新できます。

于 2015-04-06T15:54:23.163 に答える
1

SQLAlchemy 内で何が起こっているかを伝えるため、 SQLAlchemy イベントを使用する必要があります(ピラミッド イベントとはまったく関係ありません)。

ColanderAlchemy のドキュメントはわかりにくいです。ここで必要なのmapperは、モデル クラスです (マッパーではありません)。

したがって、モデルでは次のようなことを行う必要があります。

class MyModelClass(Base):
    ...

event.listen(
    MyModelClass,
    "mapper_configured",
    setup_schema)
于 2015-04-05T06:01:46.757 に答える