3
リクエストにアクセスすることなく現在のユーザーオブジェクトまたは少なくともIDにアクセスする手段はありますか?モデルで言う?ピラミッドはリクエストにアクセスできない現在のユーザー/ユーザーIDを取得します
私はピラミッドとSQLAlchemyを使用します。
最初に私はシングルトンについて考えましたが、これはユーザーが多いときに間違ったオブジェクトを返す可能性があると思います。
@classmethod
def log(cls, description, log_type=None, name=None):
user = ??
audit_log = cls(
user_id=user.id if user else None,
description=description,
type=log_type,
name=name
)
DBSession.add(audit_log)
return audit_log
データベースのイベントに現在のユーザーが存在しないと思うのは、要求のコンテキスト外で発生するためです。 –
スレッドのローカルに頼るのではなく、関数内で明示的に 'request'または' user'を渡すことをお勧めします。 –