如何在GAE中保存嵌入对象?

时间:2013-05-26 19:29:52

标签: python google-app-engine google-cloud-datastore

我正在尝试将数据存储区实体引用保存在另一个内:

class Save(webapp2.RequestHandler):

    def get(self):

        order = Order(parent=ndb.Key('Orders', 'default_orders'))

        order.special_request     = self.request.get('specialRequirement')
        order.product_type        = self.request.get('productType')

        customer = Customer(parent=ndb.Key('Customer', 'default_customers'))

        customer.name              = self.request.get('customerName')
        customer.email             = self.request.get('email')
        customer.put()

        order.customer             = customer
        order.put()

Customer类只是:

from google.appengine.ext import ndb

class Customer(ndb.Model):
    name    = ndb.StringProperty()
    email   = ndb.StringProperty()

虽然之前我和Rails以及mongodb做过类似的事情,但我不确定这在GAE中是什么,并且很难找到例子。

1 个答案:

答案 0 :(得分:0)

好的,以下似乎是我的疏忽,只需将密钥传递给:

oder.customer           = customer.key

我现在对嵌入对象有一个可用的引用,并且两者都正确保存。