Est-ce que Google App Engine a un équivalent de get_or_create() de Django?Google App Engine: get_or_create()?
6
A
Répondre
8
Il n'y a pas d'équivalent complet, mais get_or_insert est quelque chose de similaire. Les principales différences sont que get_or_insert
accepte key_name
en tant que recherche sur les filtres définis dans get_or_create
.
2
ai pas testé, mais il devrait être quelque chose comme ce qui suit:
class BaseModel(db.Model):
@classmethod
def get_or_create(cls, parent=None, **kwargs):
def txn():
query = cls.all()
if parent:
query.ancestor(parent)
for kw in kwargs:
query.filter("%s =" % kw, kwargs[kw])
entity = query.get()
if entity:
created = False
else:
entity = cls(parent, **kwargs)
entity.put()
created = True
return (entity, created)
return db.run_in_transaction(txn)
class Person(BaseModel):
first_name = db.StringProperty()
last_name = db.StringProperty()
p, created = Person.get_or_create(first_name='Tom', last_name='Smith')
Questions connexes
- 1. Google App Engine - Impasse?
- 2. Authentification Google App Engine
- 3. Authentification Google App Engine
- 4. Google app engine & CDN
- 5. Compteurs Google App Engine
- 6. Google App Engine: DeadlineExceededError
- 7. Google App Engine
- 8. google app engine jsonpickle
- 9. Google App Engine + Validation
- 10. google app engine _method?
- 11. Pourquoi "pas" Google App Engine?
- 12. flex sécurité google app engine
- 13. Cron dans Google App Engine
- 14. JSTL Google App Engine Problème
- 15. OpenID pour Google App Engine
- 16. Calendrier pour Google App Engine
- 17. Google App Engine à Twisted
- 18. problème Google App Engine modifyThreadGroup
- 19. erlang sur google app engine?
- 20. Google App Engine oAuth Numéro
- 21. Google App Engine et OpenID
- 22. google app engine OU filtre
- 23. Lua sur Google App Engine
- 24. Google App Engine sur Silverlight
- 25. Contraintes dans google-app-engine?
- 26. Google App Engine - erreur update_indexes
- 27. Google App Engine: module JSON
- 28. Lamson dans Google App Engine?
- 29. Problème avec Google App Engine
- 30. singletons Google App Engine (Python)