1
resposta

Id opcional na classe jogo

Não entendi quando teve que alterar a classe jogo colocando um atributo id=None, pois no meu código ele não deu erro, isso é, não precisei colocar id=none.

1 resposta

Oi Alan, deveria dar erro porque nesse momento do curso começamos a salvar um jogo no banco de dados e não mais em uma lista. A tabela jogo possui um id (identificador) que será gerenciado pelo próprio banco, ou seja, ele vai 'setar' esse id lá na tabela e por esse motivo colocamos id=None (não precisamos nos preocupar em passar esse valor). Mas acontece que dentro do método salvar da classe JogoDao tem a seguinte linha de código:

jogo.id = cursor.lastrowid

e se não colocarmos o id como atributo da classe Jogo, vai acusar o erro:

AttributeError: 'Jogo' object has no attribute 'id'

dizendo que o jogo não possui um atributo 'id'.

espero ter ajudado. mas se ainda tiver dúvidas posta seu código aqui pra gente dar uma olhada.