Los datos JSON se convierten al modelo django.

Necesito convertir datos JSON al modelo django.

Estos son mis datos JSON

{ "data": [ { "id": "20ad5d9c-b32e-4599-8866-a3aaa5ac77de", "name": "name_1" }, { "id": "7b6d76cc-86cd-40f8-be90-af6ced7fec44", "name": "name_2" }, { "id": "b8843b1a-9eb0-499f-ba64-25e436f04c4b", "name": "name_3" } ] } 

Este es mi método django.

 def get_titles(): url = 'http://localhost:8080/titles/' r = requests.get(url) titles = r.json() print(titles['data']) 

Lo que necesito es convertir al modelo y pasar a la plantilla. Por favor, hágamelo saber cómo convertir JSON a modelo.

Usando JSON en plantillas de Django

No tiene que convertir la estructura JSON en un modelo de Django solo para usarla en una plantilla de Django: las estructuras JSON (dicts de Python) funcionan bien en una plantilla de Django

por ejemplo, si pasa {'titles': titles['data']} como contexto a su plantilla, puede usarlo como:

 {% for title in titles %} ID is {{title.id}}, and name is {{title.name}} {% endfor %} 

Siempre que no necesite almacenar los datos con Django, la solución anterior funciona bien. Si desea almacenar, lea a continuación.

Haz un modelo

Puede crear un modelo para almacenar los datos JSON. Una vez almacenados, puede pasar el queryset a su plantilla

 class Title(models.Model) id = models.CharField(max_length=36) name = models.CharField(max_length=255) 

o usa un campo UUIDField

 class Title(models.Model) id = models.UUIDField(primary_key=True) name = models.CharField(max_length=255) 

Almacenar los datos en un modelo Django.

 # Read the JSON titles = r.json() # Create a Django model object for each object in the JSON for title in titles['data']: Title.objects.create(id=title['id'], name=title['name']) 

Usa datos almacenados para pasar como contexto de plantilla

 # Then pass this dict below as the template context context = {'titles': Title.objects.all()}