2013-05-26 2 views
0

Я пытаюсь сохранить ссылку хранилища сущностей внутри другой:Как сохранить встроенный объект в GAE?

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() 

Класс клиента просто:

from google.appengine.ext import ndb 

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

Хотя я сделал подобный с Rails и MongoDB, прежде чем я не уверен, что это называется в GAE, и мне трудно найти примеры.

ответ

0

Хорошо, следующий, кажется, был мой контроль, просто передавая ключ, как:

oder.customer   = customer.key 

у меня теперь есть полезная ссылка на внедренный объект и оба были сохранены правильно.

+1

Это не «встроенный объект», это ссылка на клиента. 'order.customer' просто держит ключ' customer'. Вам нужно будет взять объект. Если вы удалите заказ, клиент останется нетронутым. –

Смежные вопросы