Hat Google App Engine ein Äquivalent von Djangos get_or_create()?Google App Engine: get_or_create()?
6
A
Antwort
8
Es gibt keine vollständige Entsprechung, aber get_or_insert ist etwas ähnliches. Der Hauptunterschied besteht darin, dass get_or_insert
key_name
als Nachschlag gegen Filter akzeptiert, die in get_or_create
eingestellt sind.
2
habe nicht getestet, aber es sollte in etwa wie folgt sein:
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')
Verwandte Themen
- 1. Google App Engine & Google Storage
- 2. Google App Engine & CDN
- 3. Google App Engine Projekthierarchie
- 4. Google App Engine-Versionsnummern?
- 5. Google App Engine - Autoinkrement
- 6. Google App Engine-Kompatibilitätsschicht
- 7. App Engine + Google Dokumente
- 8. Google App Engine-Anforderungsstatus
- 9. Google App Engine APNS
- 10. Google-App-Engine NDB
- 11. Google App Engine-Datenspeichercodierung?
- 12. Google App Engine + Validierung
- 13. Google App Engine Entitätsgruppen
- 14. Google App Engine-Problem
- 15. Google App Engine phpBB
- 16. Google App Engine-Datenbankinkonsistenz
- 17. Google App Engine
- 18. Google App Engine-Umleitungsproblem
- 19. Google App Engine DeobfuscatorBuilder
- 20. Google App Engine ThreadSafe
- 21. Vorlagen-Engine für Google App Engine
- 22. Google App Engine TypeError Problem
- 23. Google App Engine und dos.xml
- 24. OpenID für Google App Engine
- 25. Google App Engine modifyThreadGroup Problem
- 26. Google App Engine-Anwendungsfehler 5
- 27. Jinja2 in Google App Engine
- 28. Unterstützt Google App Engine ftp?
- 29. Google App Engine vs Firebase
- 30. Python Google App Engine flexible