Welche Art der Unterkunft verwende ich einen Benutzer user_id () in den Datastor setzen?
-
22-09-2019 - |
Frage
Aus diesem Grunde muß ich setzen user_id () 's in den Datastor:
Ein Benutzer Wert im Datenspeicher nicht erhalten aktualisiert, wenn der Benutzer sie ändert E-Mail-Addresse. Dies kann in behoben werden eine zukünftige Version. Bis dahin können Sie verwenden Sie die user_id Anwenderwert () als Benutzer stabile eindeutige Kennung.
http://code.google.com/appengine /docs/python/datastore/typesandpropertyclasses.html#users_User
Im Datenspeicher, der Wert gleich zu der E-Mail-Adresse sowie die Benutzer die eindeutige ID. Wenn der Benutzer Änderungen ihre E-Mail-Adresse, der neue Benutzer-Wert wird nicht die ursprüngliche Benutzerwert gleich in Datenspeicherabfragen oder im Vergleich von der App. Wenn Ihre Anwendung braucht eine stabile Kennung, die nicht verändert, Sie speichern kann separat die eindeutige ID von dem Benutzerwert.
http://code.google.com/appengine/docs /python/users/userobjects.html
Wie kann ich es tun?
Und wie Sie wissen (oder wo hast du es sehen?)
Lösung
Die übliche Antwort „nein Eigentum“: Wenn Sie eine stabile Kennung benötigen, ist es wahrscheinlich, weil Sie Benutzer, indem sie es sind aufzublicken, in diesem Fall sollten Sie es als Schlüsselnamen für die Entität verwenden, etwa so:
class UserInfo(db.Model):
is_admin = db.BooleanProperty(required=True, default=False)
user_info = UserInfo.get_or_insert(users.get_current_user().user_id())
Wenn Sie wirklich eine Kennung für den Benutzer an anderer Stelle müssen speichern, können Sie eine db.StringProperty verwenden, um den Benutzer-ID zu speichern.