fetch json array from mysql django
# models.py
from django.db import models
class MyModel(models.Model):
data_field = models.JSONField()
# views.py
from django.http import JsonResponse
from .models import MyModel
def get_json_data(request):
queryset = MyModel.objects.values('data_field')
data_list = list(queryset)
return JsonResponse(data_list, safe=False)
# urls.py
from django.urls import path
from .views import get_json_data
urlpatterns = [
path('get_json_data/', get_json_data, name='get_json_data'),
]
# settings.py
INSTALLED_APPS = [
# ...
'your_app_name',
# ...
]
# manage.py
python manage.py makemigrations
python manage.py migrate
# your_app_name/fixtures/initial_data.json
[
{
"model": "your_app_name.mymodel",
"pk": 1,
"fields": {
"data_field": [1, 2, 3]
}
},
# Add more data as needed
]
# Terminal
python manage.py loaddata initial_data
# your_mysql_database_name/settings.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'your_mysql_database_name',
'USER': 'your_mysql_user',
'PASSWORD': 'your_mysql_password',
'HOST': 'localhost',
'PORT': '3306',
}
}
# your_app_name/admin.py
from django.contrib import admin
from .models import MyModel
admin.site.register(MyModel)
# Terminal
python manage.py runserver
Access the endpoint at http://localhost:8000/get_json_data/
```