あなたがPOSTしたいRESTエンドポイントが同じフラスコアプリケーション内にあると仮定しています。 RESTエンドポイント内のビジネスロジックを切り離し、アプリケーション全体でコードを共有することをお勧めします。
私の場合、私は通常、別のPYファイルを作成します(サービスそれらを呼ばれる)と、そこにビジネスロジックを移動:
:
# inventory_services.py
def delete_item(id, data):
pass
# ... business logic here
を次にあなたがデータをPOSTあなたのRESTエンドポイントからこのメソッドを呼び出します
from inventory_services import delete_item
@event.listens_for(MyModel, 'after_insert')
def do_stuff(mapper, connection, target):
delete_item(id, data)
:
from inventory_services import delete_item
@api.route('/inventory/delete-item', methods=['POST'])
def delete_item_api():
posted_data = request.get_json()
delete_item(posted_data.id, posted_data.data)
は、あなたのSQL錬金術のフックメソッドで同じサービス・メソッドを使用しますここでの基本的な考え方は、アプリケーション全体でアクセシブルになるように、APIメソッドのコードを他のプレーン関数に移動することです。
あなたは既にそれが分かっているようです。あなたの 'do_stuff'メソッドは挿入の後にトリガされます。 '' after_update''と '' after_delete''で同じことができます。または、Pythonで投稿要求を行う方法についてのあなたの質問ですか?そのためには、たとえばhttp://docs.python-requests.org/ja/master/などのリクエストを使用できます。 – AArias
@AArias えええええええええええええええええええええええええええええええええええええええええええええええええええええええええ。 – Zeeshan