0

OS Win7、GAE 1.7.6、Python 2.7.3、GAE学習中。

できれば定義方法で増加するために、データストアで定義されたキー名を使用してコンテンツ (名前、電子メール、電話など) を拡張するための入力フォームが必要なプロジェクトに取り組んでいます。データストアに自動的にIDを生成させる前に、キー名を使用したことはありません。

appcfg.py ツールを使用してデータストアにデータを入力し、CSV ファイルからデータをインポートします。

新しいコンテンツを追加するとき。リンク: http://s17.postimg.org/6pfqjv6gv/Unffaftitled.png

Datastore でキー名を定義する基本的な例は何ですか?

4

4 に答える 4

3

これはあなたが探しているものですか?

class Employee(db.Model):
  first_name = db.StringProperty()
  last_name = db.StringProperty()

employee = Employee(key_name='asalieri',
                    first_name='Antonio',
                    last_name='Salieri')

employee.put()

これにより、キー name を持つエンティティが作成されますasalieri。その後、このエンティティを で取得できますEmployee.get_by_key_name ('asalieri')

これは、ドキュメントのサンプル コードです: https://developers.google.com/appengine/docs/python/datastore/entities#Creating_an_Entity

それが役立つことを願っています!

于 2013-04-07T17:40:02.713 に答える
1

公式ドキュメントによると、__key__バルクローダー .yaml 構成ファイルの適切な CSV 列に疑似プロパティをマップできます。

transformers:
- kind: MyKind
  ...
  property_map:
  - property: __key__
    external_name: MyKeyColumn
    ...

(以前のように、データストアにキー ID を自動的に生成させたい場合は、これpropertyを .yaml ファイルから削除する必要があります。)

于 2013-04-08T07:26:41.027 に答える
1

クイックアドバイス

できれば定義方法を増やすために、データストアで定義されたキー名を使用してコンテンツ(名前、電子メール、電話など)を拡張するための入力フォームが必要なプロジェクトに取り組んでいます。

あなたの言っていることを理解するのに1、2分かかりました。

何も考えずに聞きたいことを急いで入力しないでください。
他の人からよく考え抜かれた回答が必要な場合は、質問を明確にするようにしてください。

あなたへの私の質問

なぜキー名を手動で定義する必要があると思いますか?
あなたはどんな恩恵を受けていると思いますか?

私の推測では、あなたは GAE HRD データストアの基本を理解していないようです。
HRD データストアを理解していなければ、GAE で効果的にコーディングすることはできません。

私の答え

あなたの質問に対する簡単な答えはありません。
以下を見て読んで数時間投資することをお勧めします.
その後、より適切な設計上の決定を下すことができます。

  1. Building Scalable Web Apps with App Engine - Google IO 2008を特に 28 分からご覧ください。全体を見ることをお勧めします。
  2. App Engine Datastore Under the Covers - Google IO 2008 をご覧ください。
  3. スケーラブルなアプリケーションを作成するためのベスト プラクティスをお読みください。
  4. Mastering the datastoreから、 Modeling Entity Relationshipsの部分も非常に役立つことがわかりました。
  5. 別の本当に便利な Stackoverflow Q&A を次に示します -データベースではなくデータストアで考える方法
于 2013-04-09T06:54:55.447 に答える