python - framework - tutorial django
AttributeError: el objeto ''InstrumentedList'' no tiene ningún atributo (1)
Como se explica en la documentación, aquí: http://www.sqlalchemy.org/docs/orm/relationships.html#one-to-one , debe agregar uselist = False no a la relación, sino al backref.
thing = relationship(''Thing'', backref=backref(''voteinfo'', uselist=False))
Tengo estas tablas de tablas:
class Thing(Base):
__tablename__ = ''thing''
id = Column(Integer, primary_key=True)
class User(Base):
__tablename__ = ''user''
id = Column(Integer, primary_key=True)
class Voteinfo(Base):
__tablename__ = ''voteinfo''
thing_id = Column(Integer, ForeignKey(''thing.id''), primary_key=True)
thing = relationship(''Thing'', backref=''voteinfo'')
upvotes = Column(Integer)
downvotes = Column(Integer)
def __init__(self, thing)
self.thing = thing
class VoteThing(Base):
__tablename__ = ''votething''
id = Column(Integer, primary_key=True)
voter_id = Column(Integer, ForeignKey(''voter.id''))
voter = relationship(''Voter'', backref=''votescast'')
thing_id = Column(Integer, ForeignKey(''thing.id''))
thing = relationship(''Thing'', backref=''votesreceived'')
value = Column(Boolean)
def __init__(self, voter, thing, value):
if value is True:
thing.voteinfo.upvotes += 1
else:
thing.voteinfo.downvotes += 1
Cuando intento ejecutar esto, obtengo este código de error en la cláusula "if value is True":
AttributeError: ''InstrumentedList'' object has no attribute ''upvotes''
Intenté darle a Voteinfo su propia identificación única y agregarle a la relación uselist = False. He intentado reemplazar la relación con cosas de VoteThing a Voteinfo, pero eso tampoco ayudó. No sé lo que es una Lista Instrumentada. Que esta pasando?