Ich habe ein einfaches Szenario, wo es eine Benutzerklasse gibt, die die Eigenschaft name, email und followers hat.Verwenden von ndb.KeyProperty, wie auf dasselbe Modell verwiesen wird?
class User(ndb.Model):
name = ndb.StringProperty(required = True)
search_name = ndb.StringProperty(required = True)
pw_hash = ndb.StringProperty(required = True)
email = ndb.StringProperty()
follows = ndb.KeyProperty(Follow, repeated=True)
followers = ndb.KeyProperty(User, repeated=True)
Während der Ausführung bekomme ich den Fehler.
File "C:\ujjal\my project\cravel\code2\Users.py", line 46, in User
followers = ndb.KeyProperty(User, repeated=True)
NameError: name 'User' is not defined
INFO 2012-09-11 11:45:23,953 dev_appserver.py:2967] "GET/HTTP/1.1" 500 -
Jeder Vorschlag, wie das Attribut "followers" modelliert werden würde, würde sehr geschätzt werden. Vielen Dank im Voraus
Perfekt, @Bert danke für Ihre Eingabe – ujjalcal
Dieses Problem ist nicht ndb spezifisch. Sie können eine Klasse erst nach dem Definieren der Klasse anhand ihres Typs referenzieren. Aus diesem Grund können Sie in ndb einen String-Namen für eine Art oder das Python-Type-Objekt verwenden. –