Mam prosty scenariusz, w którym istnieje klasa użytkownika, która ma nazwę, adres e-mail i właściwości obserwatora.Używanie ndb.KeyProperty w jaki sposób odwołać się do tego samego modelu?
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)
Podczas wykonywania tego otrzymuję błąd.
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 -
Każda sugestia, jak modelować atrybut "obserwujący" byłby wysoko ceniony. Dzięki z góry
Perfect, @ Bert dzięki za twój wkład – ujjalcal
Ten problem nie jest specyficzny dla ndb. Nie można odwoływać się do klasy według jej typu, dopóki klasa nie zostanie zdefiniowana. Dlatego ndb pozwala na użycie nazwy ciągu dla rodzaju lub obiektu typu python. –