Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

166
Vistas
Cómo implementar datos de campo específicos en una lista y otros datos archivados en otra lista en Django

Estoy usando Django 3x. Tengo una tabla llamada Libro. Cuando escribo una consulta para esto, obtengo datos como este:

 book_details = Book.objects.all().values() print(book_details) <QuerySet [{'id': 1, 'author': 'ABC', 'price': 150, 'category': 'Comic', 'available': 1}, {'id': 2, 'author': 'XYZ', 'price': 500, 'category': 'Historical Fiction', 'available': 1}, {'id': 3, 'author': 'MNO', 'price': 200, 'category': 'Horror', 'available': 0}]>

Estoy tratando de crear datos en este formato a continuación

 {'id':[1,2,3], 'author':['ABC', 'XYZ', 'MNO'], 'price':[150,500,200], 'category':['Comic', 'Historical Fiction', 'Horror'], 'available':[1,1,0]}

Cómo crear datos en este formato.

Por favor indique la mejor manera de hacer esto. Una explicación sería muy apreciada. ¡Gracias!.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si lo haces:

 lst_of_dicts = list(book_details)

Obtendrá lo siguiente, por lo que si imprime lst_of_dicts se verá así:

 [{'id': 1, 'author': 'ABC', 'price': 150, 'category': 'Comic', 'available': 1}, {'id': 2, 'author': 'XYZ', 'price': 500, 'category': 'Historical Fiction', 'available': 1}, {'id': 3, 'author': 'MNO', 'price': 200, 'category': 'Horror', 'available': 0}]

Entonces, esta es una lista de diccionarios, mientras que usted quiere un dict de listas, entonces hay un paso adicional que debe realizar y es este:

 from itertools import chain # Necessary import keys = set(chain(*[dic.keys() for dic in lst_of_dicts ])) final_dict = {key : [dic[key] for dic in lst_of_dicts if key in dic] for key in keys }

final_dict se verá así:

 {'id': [1, 2, 3], 'author': ['ABC', 'XYZ', 'MNO'], 'available': [1, 1, 0], 'price': [150, 500, 200], 'category': ['Comic', 'Historical Fiction', 'Horror']}
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda