Tengo un escenario simple en el que hay una clase de usuario que tiene el nombre, el correo electrónico y la propiedad de seguidores.¿Cómo usar ndb.KeyProperty cómo hacer referencia al mismo modelo?
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)
Al ejecutar esto recibo el error.
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 -
Cualquier sugerencia sobre cómo modelo el atributo "seguidores" sería muy apreciada. Gracias de antemano
Perfecto, @Bert gracias por su entrada – ujjalcal
Este problema no es ndb específico. No puede hacer referencia a una clase por su tipo hasta que se haya definido la clase. Es por eso que ndb le permite usar un nombre de cadena para un tipo o el objeto de tipo python. –