問題タブ [polymodel]

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.

0 投票する
1 に答える
548 参照

google-app-engine - クラスを Google App Engine の Expando および Polymodel にすることはできますか?

Person などの PolyModel クラスを作成した場合、その Polymodel の下に Expando モデルを作成できますか? たとえば、Expando モデルでもあったクラス Male(Person)? もしそうなら、どのように?

ありがとう!

0 投票する
2 に答える
770 参照

python - Google App Engine は子クラスとして PolyModel を取得します

Google App Engine を実行すると、次のようになります。

私が走るとき、例えば

これは「父がこんにちは」と出力します。これは「息子がこんにちは」と出力することを期待しています。ここで、これを期待どおりに実行する方法を知っている人はいますか?

編集

問題は、結局のところ、Spawn オブジェクトを Father オブジェクトとして保存していたことにありました。GAE は、Father オブジェクト (私のアプリケーションでは) のプロパティが少ないにもかかわらず、喜んで実行してくれました。保存されているデータから Model.properties() にない値を (黙って) 削除したため、GAE は文句を言いませんでした。

不適切なタイプの保存を修正し、保存されていない余分な値のチェックを追加しました (これは、チェックが行われるはずの TODO コメントでした)。保存時にデータに対して行うチェックは、基本的に次のとおりです。

ここの投稿は役に立ちました - ありがとう。GAE は、指示どおりに使用しているため、期待どおりに動作しています。:)

0 投票する
1 に答える
405 参照

python - Google App Engine : ポリモデル + SelfReferenceProperty

PolyModel ベースのクラスは SelfReferenceProperty として使用できますか?

私は以下のコードを持っています:

このコードを実行し、開発サーバーの管理インターフェイスを介してデータストアをチェックします。親インスタンスはデータストア クラス = 'BaseClass,ParentClass' に保存されますが、子は保存されません。ブラウザーへのエラー出力はなく (デバッグがオンになっています)、アプリのランチャーのログには何もありません。

これは可能ですか?

0 投票する
2 に答える
97 参照

python - appengine ポリモデルで __setitem__ を上書きしても安全ですか?

put()私は、Google アプリ エンジン用のスパム フィルター ライブラリを作成しています。これは、アプリ エンジン フックを使用して、データストアに入る直前に一部のデータを変更します。そのために、PolyModel クラスをサブクラス化するモデルを作成しました。このクラスをチェック可能にしたい場合は、サブクラス化する必要があります。

しかし、クラス内の一部のデータについては、値が変更されたときにいくつかのことをしたいと思います。そのためには、上書きする必要があります__setitem__。しかし、sdk はこれを使用してモデルのプロパティの変更を決定したり、フィルターを適用したりするため、上書きを変更するとこれ__setitem__が壊れる可能性があると思います。これを回避する最善の方法は何ですか?

0 投票する
1 に答える
4519 参照

python - ndbプロパティをきれいに削除する方法

私のアプリでは、モデルのプロパティのいくつかを削除する必要があります。私はこのリンク
をチェックしましたが、最初の問題は、プロパティがにあり、プロパティを削除するためにしばらくの間に切り替える方法がないことです。aをに変更した場合に何が起こるかわからないのです。polymodelexpandopolymodelexpando

では、既存のエンティティからプロパティを削除するにはどうすればよいですか?

すべてStringPropertyをに設定してNoneから、これらをモデルスキーマから削除して、再デプロイすることを考えていました。それらのプロパティの1つは、これを正しくBooleanProperty設定できませんか?!Noneまたはndb.PickleProperty...どうすればそれを削除できますか?

誰かがこれを正しく行う方法を知っていますか?

0 投票する
1 に答える
685 参照

python - AppEngineNDBPolyModelがプロパティを取得する

AppEngineに問題があり、理解できないようです。

したがって、上記のクラスを使用して、すべてのItemInHouseを照会し、MedicalItemを持つそれらのiteminhouseにアクセスしようとすると、med_sub_typeを取得できません。あれは:

itm.item.med_sub_typeでエラーをスローします。私も試しました:itm.item._values["med_sub_type"].b_valしかし、これでもAttributeErrorがスローされます:'Item'オブジェクトには属性'med_sub_type'がありません。私はclass_それが持っているプロパティItemとプロパティを確認しMedicalItemますが、アクセスできません。何か案は?

ありがとうジョン

0 投票する
0 に答える
871 参照

python - AppEngine で ndb.Model と PolyModel を混合する多重継承

私のアプリケーションでは、ndb.Model の単純なサブクラスである基本モデルを使用して、一般的なプロパティを保持しています。ただし、一部の機能については、ポリモデル機能を活用できると非常に便利です。Model と PolyModel の両方が多重継承をサポートしていると思われますが、私の質問は、以下を行う際の注意点はありますか?

目標は、InternalBase のすべての基本的なプロパティとメソッドを Widget クラスで使用できるようにすることですが、単一のクエリ (PolyModel が追加するもの) を使用して Widget のすべてのサブクラスを検索できるようにすることも目的です。

また、そのようなスキームの潜在的な問題を明らかにする可能性のあるテストケースを考えていただけますか?

0 投票する
1 に答える
156 参照

python - 親クラスの Python extends メソッド

Python で Google Appengine アプリを作成しています。アプリは、Google クラウド エンドポイント メッセージを介してデータを送受信します。以下に、データベース モデル定義の例を示します。Object にはすべてのオブジェクトが含まれ、ObjectBoolean はブール値のみ、ObjectInteger は整数値のみが含まれます。すべてのクラスには、message_to_model() と model_to_message() という 2 つのメソッドが定義されています。

サブクラスのメソッドを再利用するにはどうすればよいですか? 次のような繰り返しコードを取り除きたいです。

これらのフィールドは Object-class の一部です。しかし、私のコードでは、フィールドはサブクラスにもリストされています。これは避けたいことです。どうすればこれを達成できますか?私はすでに super() 関数をチェックしましたが、拡張したいメソッドを実行したくないので、これは私の場合には適していないと思います。

乾杯

-ルカ。