mercredi 5 mars 2014

pattern for updating a datastore object


Vote count:

0




I'm wondering what the right pattern should be to update an existing datastore object using endpoints-proto-datastore.


For example, given a model like the one from your GDL videos:



class Task(EndpointsModel):
detail = ndb.StringProperty(required=True)
owner = ndb.StringProperty()


imagine we'd like to update the 'detail' of a Task.


I considered something like:



@Task.method(name='task.update',
path='task/{id}',
request_fields=('id', 'detail'))
def updateTask(self, task):
pass


However, 'task' would presumably contain the previously-stored version of the object, and I'm not clear on how to access the 'new' detail variable with which to update the object and re-store it.


Put another way, I'd like to write something like this:



def updateTask(self, task_in_datastore, task_from_request):
task_in_datastore.detail = task_from_request.detail
task_in_datastore.put()


Is there a pattern for in-place updates of objects with endpoints-proto-datastore?


Thanks!



asked 1 min ago






Aucun commentaire:

Enregistrer un commentaire