Ao fazer alguns testes, eu observei que al alterar apenas o nome de um jogo, ele excluía e inseria uma imagem(?), e quando eu carregasse esse mesmo jogo a imagem era perdida.
Para corrigir esse pequeno erro, eu atualizei o código para:
@app.route('/atualizar', methods=['POST',])
def atualizar():
nome = request.form['nome']
categoria = request.form['categoria']
console = request.form['console']
jogo = Jogo(nome, categoria, console, id=request.form['id'])
jogo_dao.salvar(jogo)
arquivo = request.files['arquivo']
upload_path = app.config['UPLOAD_PATH']
timestamp = time.time()
if arquivo:
deleta_arquivo(jogo.id)
arquivo.save(f'{upload_path}/capa{jogo.id}-{timestamp}.jpg')
return redirect(url_for('index'))
Assim, ao efetuar uma alteração, se não tiver arquivo no request file, ele não deletará o arquivo que você já tem salvo e nem criará outro.
Me mostre sua solução, ou foi só comigo que esse erro aconteceu?