問題タブ [graphene-python]
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.
javascript - ユーザーGraphql Apollo Clientを保存
ユーザー ID を新しいビジネスに保存しようとしています。400 エラーが発生し続け、その理由がわかりません。私は、バックエンドにgraphqlのバックエンドにdjangoを使用し、フロントにvue jsのアポロクライアントを使用しています。私の要求では、ユーザー ID が送信されますが、何らかの理由で 400 の不正な要求エラーがスローされます。
クリエイトビズミューテーションアポロ
Biz ミューテーション Django を作成する
ビジネス コンポーネントの作成
python - グラフェンと SQLAlchemy を使用して GraphQL API 経由でレコードを更新する
PythonパッケージFlask、SQLAlchemy、Graphene、Graphene-SQLAlchemyを使用してGraphQL APIを構築しています。私はSQLAlchemy + Flask Tutorialに従いました。クエリとミューテーションを実行してレコードを作成できます。ここで、既存のレコードを更新する最良の方法を知りたいと思います。
これが私の現在のスクリプトschema.pyです:
備考:
- 私のオブジェクト
BatchOwner
には 2 つの属性 (ID、名前) しかありません - 名前を更新できるようにするに
BatchOwner
は、更新メソッドの入力引数としてデータベース ID (リレー グローバル ID ではない) を指定する必要があると想定します。 - しかし
BatchOwner
、クライアントから をクエリすると、Graphene は base64 でエンコードされたグローバル ID のみを返します (例:QmF0Y2hPd25lcjox
に対応するBatchOwner:1
) 。
応答の例:
現時点で考えている解決策は次のとおりです。
- グローバル ID を引数として受け取る更新ミューテーションを作成します。
- グローバル ID をデコードします (どのように?)
- デコードされたグローバル ID から取得したデータベース ID を使用して、データベースを照会し、対応するレコードを更新します。
これを行うより良い方法はありますか?
python - Graphene を使用してミューテーションを実行するときにレコードのグローバル ID を取得する
PythonパッケージFlask、SQLAlchemy、Graphene、Graphene-SQLAlchemyを使用してGraphQL APIを構築しています。私はSQLAlchemy + Flask Tutorialに従いました。ミューテーションを実行してレコードを作成できます。API からの応答でこのレコードのグローバル ID を取得したいと考えています。
ミューテーション用に実装されたクラスは次のとおりです。
次の突然変異は正常に機能します
しかし、ペイロードに「id」フィールドを追加すると、次のエラー メッセージが表示されます。
Flask アプリケーションによって生成されたログは次のとおりです。
python - グラフェン - GraphQL:「リクエスト」オブジェクトに属性「コンテキスト」がありません
私は単純な GraphQL Flask API に取り組んでおり、単純なユーザー検索リゾルバーを実装しています。これは私のschema.py
私はgraphene
2.0 を使用していますが、コードは次のエラーを返します。"message": "resolve_find_user() got an unexpected keyword argument 'name'",
グーグルの後、リゾルバーの動作方法が大幅に変更されたようです。graphene
私は経験し、UPGRADE-v2.0.md
それに応じて物事を変更しました。リゾルバーは現在このようになっています。
現在、キーワード引数は消えていますが、新しい問題が発生しています。エラーは"message": "'Request' object has no attribute 'context'",
です。info.context
うまくいくはずだと思っていたので、今は混乱していますが、どうやらそうではないようです。このコンテキストの問題を修正する方法について何か考えはありますか? GraphQL に取り組むのはこれが初めてで、どんな助けも本当に感謝しています!
type(info)
編集: is<class 'graphql.execution.base.ResolveInfo'>
とtype(info.context)
isのように見え<class 'werkzeug.local.LocalProxy'>
ます。context
SQLAlchemy コンテキストにする必要がありますか?
django - RESTfull API をデータ ソースとして使用したグラフェン リレーション
私はgraphqlサーバーを構築するためにdjangoグラフェンを使用しています.RESTfull APIを使用してデータを取得します.次のスキーマに従ってください:
私がする必要があるクエリは次のようなものです:
AllDataType
したがって、私の問題は、 で説明されているように、この 2 つのresolve_installation
タイプdevice id
との関係をどのように作成するかresolve_all
です。
インストールを解決するには、リゾルバーからdevice id
返されたが必要です。resolve_all
どうすればこれを達成できますか?
django - graphene-django は動的に API ドキュメントを作成しますか?
Django バックエンド サービスで GraphQL を使用することを検討していますが、API ドキュメントに関する情報があまり見つかりませんでした。おそらくnpmのgraphql-docsのように、 GitHubのAPI docsに似た結果をもたらすドキュメントを動的に生成するためのソリューションが必要です。
graphene-djangoで達成することは可能ですか? そうでない場合、Python 環境の代わりになるものは何ですか?