Пример #1
0
// Store a Model, and call SetKey after generating its key (if it doesn't
// have one already).
func PutModel(ctx appengine.Context, model models.Model) error {
	modelKey, err := model.Key()
	if err == models.NoKeyLoaded {
		modelKey = datastore.NewIncompleteKey(ctx, model.Kind(), nil)
	} else if err != nil {
		panic(err)
	}
	key, err := datastore.Put(ctx, modelKey, model)
	if err == nil {
		model.SetKey(key)
	}
	return err
}