問題タブ [app-engine-ndb]
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.
google-app-engine - NDB の後方参照プロパティに代わるものは何ですか?
私はこの質問とシンプルで明確な答えを読みましたが、答えはネストされたを考慮していないため、私の場合は役に立ちませんfor
。コードを見てください:
ハンドラ:
テンプレートでは、古い db.Model と後方参照プロパティを使用すると、これで十分です。
そのようなデータ構造を提供するための同様に単純な代替手段は何ですか?
python - アプリ エンジン NDB: プロパティの verbose_name にアクセスする方法
次のコードがあるとします。
もちろん、m.prop を出力すると、実際には StringProperty インスタンスですが、「文字列値」が出力されます。したがって、verbose_name には「通常の」方法、つまりm.prop._verbose_name
. 私はコードを読んで、それに
アクセスする方法を見つけました:
教えてください、それを行う別の方法はありますか?
注: 古いものではなく、NDB API について話しているm._properties["prop"]._verbose_name
python - ndbモデルappengineのModelForms(djangoformsが機能しない)
webapp2、ndbモデルを使用しています。
私はndbモデルでdjangoモデルフォームを使おうとしていました。以下は私のセットアップからの関連部分です:
app.yaml:
Models.py:
Forms.py:
ハンドラ:
私が得るエラーは次のとおりです: AttributeError:タイプオブジェクト'SubTask'には属性'_meta'がありません
私の質問: ndbでdjangoモデルフォームを使用する方法はありますか?それとも、間違えた場合はどうなりますか?django modelformsでない場合、ndbモデルはWTFormsで正常に機能しますか?
以下に添付されているのはスタックトレースです。
google-app-engine - ndb KeyProperty インスタンスに基づいてモデルを照会します
次のような単純なndbモデルがあります。
知られているように、TaskList オブジェクトには と がありEntity Kind
Entity Key
ますID
。ID が 7 の場合、次のように ID 7 のオブジェクトを取得できます。
しかし、タスク ID 7 を持つユーザーを取得するにはどうすればよいでしょうか?
私は試した:
それは機能しますが、より良い方法はありますか?
google-app-engine - ndbモデルとWTFormsの互換性
Tech Stack:ndbモデル、WTForms、webapp2appenginedbモデル のWTForms拡張機能を試していました。
私は単純なdbスキーマを持っていました:
次に、ドキュメントに従ってハンドラー内のWTFormsからの単純なフォーム定義フォーム:
これにより、ここで属性エラー行411が発生します props = model.properties()
これを修正できる場合は、お知らせください。
google-app-engine - prod と dev のこの違いの原因は何ですか?
同じコード、本番環境では、開発中は機能しません。
モデル:
ハンドラ:
テンプレート:
トレースバック (本番環境のみ):
これは、comput_list
エンティティがある場合でも表示されます。
更新: メンバーの自動生成インデックスはありません。手動で追加しようとしましたが、何も変わりません
google-app-engine - ndbのORを使用する方法は?
私は次のコードを持っています:
しかし、エラーが発生しています。
passport_id is None
ところで、それは場合にどのように機能しますかEmployee.passport_id is None
。そのような一致を見つけるでしょうか?
更新 追加することで最初の問題を修正しました
2番目の質問が残っています。
google-app-engine - GAE NDBでNone値を返さないようにするには?
以下のような複雑な NDB クエリがあります。
現在、データベースの値がNone
で、私の値が のNone
場合、そのようなエンティティが返されます。どうすればそれを回避できますか? 私は(フィールドごとに)次のようなことができると思います:
しかし、それはあまりよく見えません。
google-cloud-datastore - NDB でバッチ操作を行う方法は、ndb を更新するためのアトミックまたはロック レコードです。
私はグーグルアプリエンジンとNDBの初心者です。私の問題: モデルにエンティティが 1 つある場合、2 つの並列操作で競合を防止したい場合、コード例:
操作 1:
操作 2:
2 つのセッションが 2 つの操作を並行して呼び出し、操作の前にエンティティ (id=1) のカウント = 0 の場合。たとえば、次のように、 count value の競合を防ぎたいです。
count=ndb で 20。ndb の count=30 の希望値。
解決策を教えてください。
google-app-engine - get_by_id と親キー
データストアからエンティティを取得するためにget_by_idを使用したことがあり、 Ancestor Pathsを使用したことはありません。しかし、私のモデルの複雑さのために、それが必要になりました。実際、祖先パスは大きな問題を解決しますが、エンティティが親キーを持っている場合にget_by_id
エンティティを返そうとすると、今ではそうです。None
これは、親キーを追加する必要があることを意味します。
これは次のようになります。
親キーを作成する方法は?
編集:
この時点で、先祖のパスを残し、別のキー プロパティを追加することを好みます。