Me sale el siguiente error: if client[‘uid’] == updated_client.uid: AttributeError: ‘list’ object has no attribute ‘uid’ este es mi codig...

Ibrahin Cruz Luqueño

Ibrahin Cruz Luqueño

Pregunta
studenthace 6 años

Me sale el siguiente error: if client[‘uid’] == updated_client.uid:

AttributeError: ‘list’ object has no attribute ‘uid’

este es mi codigo:

<code> import csv import os from clients.models import Client class ClientService: def __init__(self, table_name): self.table_name = table_name def create_client(self, client): with open(self.table_name, mode='a') as f: writer = csv.DictWriter(f, fieldnames=Client.schema()) writer.writerow(client.to_dict()) def list_clients(self): with open(self.table_name, mode='r') as f: reader = csv.DictReader(f, fieldnames=Client.schema()) return list(reader) def update_client(self, updated_client): clients = self.list_clients() updated_client =[] for client in clients: if client['uid'] == updated_client.uid: updated_client.append(updated_client.to_dict()) else: updated_client.append(client) self._save_to_disk(updated_client) def _save_to_disk(clients): temp_table_name = self.table_name + '.tmp' with open(temp_table_name, mode = 'w')as f: writer = csv.DictWriter(f, fieldnames=Client.schema()) writer.writerows(clients) os.remove(self.table_name) os.remove(temp_table_name, self.table_name) </code>
2 respuestas
para escribir tu comentario
    Jose Villarroel

    Jose Villarroel

    studenthace 5 años

    Yo tengo el mismo error Ibrahin... Cómo podríamos resolverlo @rodriguezjp97? el código está tal cual como lo indicó el profesor en la lecció Nro. 43. Gracias de antemano.

    Juan Pablo Rodríguez Morales

    Juan Pablo Rodríguez Morales

    studenthace 5 años

    Redefiniste updated_client como una lista vacía en el inicio del for, las listas no tienen propiedades

Curso Práctico de Python

Curso Práctico de Python

Aprende a programar en Python creando un CRUD desde cero. Construye una aplicación de línea de comandos, interactúa con bases de datos y maneja conceptos como clases, listas y diccionarios. Lleva tu primer proyecto Python al siguiente nivel.

Curso Práctico de Python
Curso Práctico de Python

Curso Práctico de Python

Aprende a programar en Python creando un CRUD desde cero. Construye una aplicación de línea de comandos, interactúa con bases de datos y maneja conceptos como clases, listas y diccionarios. Lleva tu primer proyecto Python al siguiente nivel.