This project is a simple API that converts JSON to SQL.
- create environment
python -m venv env
- activate environment
windows:
env\Scripts\activate
linux:
source env/bin/activate
- install requirements
pip install -r requirements.txt
- startproject
django-admin startproject core .
- runserver
python manage.py runserver
- migrate
python manage.py migrate
- createsuperuser
python manage.py createsuperuser
- startapp
python manage.py startapp api
- add app to settings.py
INSTALLED_APPS = [
'api.apps.ApiConfig',
]
- api models
from django.db import models
class Smartphones(models.Model):
price = models.CharField(max_length=255)
img_url = models.CharField(max_length=255)
color = models.CharField(max_length=255)
ram = models.CharField(max_length=255)
memory = models.CharField(max_length=255)
name = models.CharField(max_length=255)
model = models.CharField(max_length=255)
def __str__(self):
return self.name
- add api models to admin.py
from django.contrib import admin
from .models import Smartphones
admin.site.register(Smartphones)
- make migrations
python manage.py makemigrations
- migrate
python manage.py migrate
The JSON structure is as follows:
{
"apple": {
"1": {
"price": "14 299 000 so'm",
"img_url": "https://assets.asaxiy.uz/product/items/desktop/2b44928ae11fb9384c4cf38708677c482022091716063124908j3O8hyVfPs.jpg.webp",
"color": "Purple",
"ram": "6",
"memory": "128",
"name": "iPhone 14 Pro",
"model": "Apple"
}
"samsumg": {
"1": {
"price": "14 299 000 so'm",
"img_url": "https://assets.asaxiy.uz/product/items/desktop/2b44928ae11fb9384c4cf38708677c482022091716063124908j3O8hyVfPs.jpg.webp",
"color": "Purple",
"ram": "6",
"memory": "128",
"name": "iPhone 14 Pro",
"model": "Apple"
}
}
}
- Smartphones table
column name | data type |
---|---|
id | int |
price | varchar |
img_url | varchar |
color | varchar |
ram | varchar |
memory | varchar |
name | varchar |
model | varchar |
method | endpoint | description |
---|---|---|
POST | /api/add | adds product to sql database |
GET | /api/get/ | gets product by id from sql database |
GET | /api/get/all | gets all products from sql database |
DELETE | /api/delete/ | deletes product by id from sql database |
PUT | /api/update/ | updates product by id from sql database |
python manage.py startproject core .
python manage.py startapp api