問題タブ [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.
google-app-engine - polymodel は KeyProperty でうまく動作しないようです
KeyProperty のkind
検証が のサブクラスに対して機能しないようですPolyModel
。
例外:
Can ndb.KeyProperty reference a base model class when using model inheritance?で Guido van Rossum が言ったのと同じように見え ますか?
javascript - JPEGをハイポリモデルに変換
jpegを取り、画像に基づいてポリゴンモデルに変換できるJavaScriptまたはPythonで何かを探していますか?
このために、人物のポートレート画像を変換し、半 3D 画像を生成する方法を検討します。(スペースを埋めるために別のスクリプトを書きます)
正しい方向への助けやプッシュをいただければ幸いです。
前もって感謝します。
python - NDB ポリモデルの問題
私は、ポリモデルを使用してエンティティのサブセットを表現する Google App Engine アプリに取り組んでいます。ただし、ドキュメントが機能すると主張している方法で使用するのに問題があります。
私の最初の問題は、サブクラスのタイプであるエンティティの「継承された」メソッドの呼び出しが、代わりにそのメソッドの親ポリモデルのバージョンを呼び出していることに気付いたことです。これは単なる「パス」です。したがって、メソッドは None を返し、すべてを台無しにします。
編集:これは、メソッド呼び出しだけでなく、そのすべてのプロパティに当てはまるようです。サブクラスにはあるが親にはない特定の情報をログに記録しようとすると、その情報が見つからないというエラーがスローされます。
例えば
最初の問題を解決しようとした結果、私が見つけた 2 番目の問題は、https: //cloud.google.com/appengine/articles/polymodelに存在すると報告されている 'class_name()' メソッドが動作しないようです。
呼び出すと、.で終わるサーバー エラーが発生しますAttributeError: 'Parent' object has no attribute 'class_name'
。私のクラスは実際には「親」と呼ばれていません。以前の例との一貫性を保ちたかっただけです。
それはすべて非常に苛立たしいものであり、どうすればよいのか本当にわかりません。どんな助けでも大歓迎です!
編集
何が起こっているかについてのより詳細な説明は、おそらく次のとおりです。
インスタンス化したくないポリモデル クラスを定義しました。テンプレートクラスとして機能させたいだけです。すべての子で定義したいテンプレートメソッドがあります。すべてありますpass
。それは私のメインモデルファイルにあります
別のファイルでは、それを template_extension_models.py と呼びましょう。メイン モデル ファイルと同じディレクトリにあり、メソッドに実際のロジックを設定する Template モデルの拡張を定義しました。
メインのモデル ファイルに戻ると、「テンプレート」を指す ndb.KeyProperties を持つ特定のクラスがあります。希望/仮定は、これが他の継承モデルのように機能することです。そのため、「テンプレート」のタイプ/サブタイプのエンティティをデータストアからプルすると、それを method_one() と method_two() およびその特定のコードを呼び出すことができますインスタンスの method_one と method_two が実行されます。すなわち
ここで私の問題が発生しています。実際にテンプレートを使用することはありません。「OtherThing」の各インスタンスに対して、実際には TemplateExtension のインスタンスを割り当てています。それでも、毎回ではなくランダムに、OtherThing のメソッド (実際のコードのいくつかの場所の一般化) でテンプレートを引き出した後、TemplateExtension クラスの代わりに Template 親クラスのメソッドが呼び出されていることがわかります。エラー。これは毎回発生するわけではないため、どこから問題を探し始めればよいかわかりません。