問題タブ [marshmallow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Flask-Restless & Marshmallow: 'dict' オブジェクトには属性 '_sa_instance_state' がありません
Flask-Restless、Flask-SQLAlchemy、および Marshmallow を使用して、基本的な CRUD JSON REST API に取り組んでいます。
このライブラリの組み合わせを使用すると問題が発生しますが、これは Marshmallow を使用して逆シリアル化を有効にした場合のみです。
私はエラーを広範囲にグーグルで検索しましたが、データベース関係を使用する場合にのみ同様の問題を見つけましたが、そうではありません。
同じエラーが発生しながら、アプリケーションからできるだけ多くのコードを削除しています。次のコード ブロックは、ローカルで実行されている 1 対 1 のものです。
models.py:
serializers.py:
main.py:
tests.py:
使用中のバージョン:
最後に、テスト実行時の完全なスタック トレース:
python - SQLAlchemy-Marshmallow のクエリと JSON へのシリアライズが遅い
私はこれに少し慣れていないので、誰かが私を助けることができれば、それは素晴らしいことです.
そのため、作業中のFlaskアプリ用にSQLAlchemyでいくつかのモデルをセットアップしています。アプリを構築しているときに、db (現在は SQLite) に偽のデータを入力しましたが、呼び出しの 1 つがどれほど遅いか少し驚いています。
MenuというDBにテーブルがあります。メニューには、子項目を持つ子セクションがあります。このような:
- メニュー
- セクション
- アイテム
- セクション
私が照会しているオブジェクトは、それぞれ 10 項目を持つ 4 つのセクションを持つ 1 つのメニューです。
Flask ルートでは、Menu.query.get(id) を使用して DB にクエリを実行し、マシュマロを使用して JSON にシリアル化します。
私のローカルマシンに戻るには、全体で250ミリ秒のギブまたはテイクが必要です。
だから私の質問は/です:私は250ミリ秒を心配するのは愚かですか?遅さの原因は何ですか?- スキーマ設計が不十分ですか? - SQLite / SQL データベースを使用していますか? - 他に何か?
どんな助けでも大歓迎です。
さらに。元々はさらに 2 レベル深くありました (項目には選択肢のあるオプションがあります) が、完了までに 1 秒ほどかかっていたので、ユーザーが特定の項目を要求したときにそれらを別のエンドポイントに移動しました。
python - bjson 構造をマシュマロ スキーマに逆シリアル化する方法
bjson 構造をマシュマロ ライブラリのスキーマに変換しようとしています。
以下は、マシュマロ スキーマです。
以下は、スキーマに変換される bjson です。
bjson には「_id」が ObjectId - 「$oid」として含まれていることに注意してください。これは、mongodb を使用したクエリの結果のためです。
bjson から marshmallow スキーマに正しく変換しない理由を知っている人はいますか?
皆さん、ありがとうございました!
python - ネストされた 2 つのスキーマをマシュマロでシリアル化する
私はPythonにかなり慣れていません。次の 2 つの SQLAlchemy モデルがあります。
私はそれらのために2つのマシュマロスキーマクラスを持っています:
次のようなネストされたスキーマ クラスを作成しました。
私は次のような結合クエリを実行しています:
チェックしたオブジェクトにデータが読み込まれます。このスキーマをどのように解析できますか? 私が試してみました
これにより、「Listing object is not iteratable.」というエラーが発生します。
python - API を介して DB コンテンツを公開する Flask-Marshmallow の問題
データベースからエントリを返す API を開発しています。Flask-SQLAlchemy、Flask-Marshmallow、Flask-Admin、および Docker を使用してすべてをパッケージ化しています。
1 つのファイル Packages.py には、データベースに関する次のコードがあります。クラス PckagesSchema は、Flash-Marshmallow を機能させようとしたときに追加したクラスです。
メインファイルには、次のコードスニペットがあります
そして、API GET リクエストを処理する部分をさらに下に移動します。
現時点ではこれが返されます:
ただし、Flask-Admin アプリが表示するように、データベースには間違いなく何かがあります。
Flask-Marshmallow を使用するのはこれが初めてなので、経験がまったくないので、助けていただければ幸いです。https://flask-marshmallow.readthedocs.io/en/latest/を読み ましたが、まだスタックしています。
flask - 外部キーを値に置き換えて API エンドポイントを構築する方法は?
現在、Flask、SQLAlchemy、および Marshmallow を使用して API を構築しています。次のようなかなり単純なDBモデルがあります。
私のマシュマロスキーマは次のようになります。
そして、非常に単純な API エンドポイント:
私の問題: 主キーの代わりにカテゴリ名を持つ JSON 応答を作成するにはどうすればよいですか? 「for transaction in all transactions」ビットを試してみましたが、印刷ステートメントでカテゴリ名を取得しましたが、JSON 応答には表示されません...
データベース モデルの書き方がよくわかりません。私が特にこだわっているのは、db.relationship です。私の Transaction クラスで宣言しても、Category クラスの主キーのみが表示されるだけなので、役に立たないようです。Flask-SQLAlchemy のドキュメントを上下に読みましたが、よくわかりません。
どんな助けや指針も大歓迎です!
ありがとう!
mongoengine - marshmallow-mongoengine での参照フィールドの操作
marshmallow_mongoengine で ReferenceFields をどのように逆参照しますか? たとえば、より有用な response の代わりにdump_data = author_schema.dump(author).data
results が返されます。'5578726b7a58012298a5a7e2'
{title='Fight Club', author=author}