1

SOAP11「で」いくつかのレベルを生成するために、スパインでモデルを定義することに問題があります。最初は例を使用しましたが、私のタスクは既存のテーブルのサービスを生成することなので、行き詰まり、Spyne プロパティまたは Sqlalchemy のどちらをシークするかを理解しようとしました。

正確には、サイトから例を挙げて、到達しようとしているものを示します。

class Permission(TableModel):
__tablename__ = 'permission'

id = UnsignedInteger32(pk=True)
application = Unicode(values=('usermgr', 'accountmgr'))
operation = Unicode(values=('read', 'modify', 'delete'))
perm_user_id = integer

最後のフィールドはユーザー テーブルの FK ですが、その名前は user_id とは異なります

class User(TableModel):
__tablename__ = 'user'

id = UnsignedInteger32(pk=True)
user_name = Unicode(32, min_len=4, pattern='[a-z0-9.]+', unique=True)
full_name = Unicode(64, pattern='\w+( \w+)+')
email = Unicode(64, pattern=r'[a-z0-9._%+-]+@[a-z0-9.-]+\.[A-Z]{2,4}')
last_pos = Point(2, index='gist')
permissions = Array(Permission).store_as('table')

--- 生成された SQL は "WHEN user.id = permission.user_id" を追加しようとしますが、別のフィールド (perm_user_id) をフィルタリングする必要があります

クラスを定義して正しい内部タグを取得するのを手伝ってください..実際には、さらに約3つのクラスの深さになります。

よろしくお願いします、ユリー

4

2 に答える 2