Skip to content

Instantly share code, notes, and snippets.

@rg3915
Created April 26, 2023 03:15
Show Gist options
  • Save rg3915/a057410e1f9be3f65672f2197b4a7279 to your computer and use it in GitHub Desktop.
Save rg3915/a057410e1f9be3f65672f2197b4a7279 to your computer and use it in GitHub Desktop.
Automated related ForeignKey Models in ModelSchema - Salvando FK automaticamente no django-ninja
from typing import List
from ninja import ModelSchema, Router
from ninja.security import django_auth
from .models import Product
router = Router()
class ProductSchemaIn(ModelSchema):
category_id: int # FK é salvo automaticamente.
class Config:
model = Product
model_fields = ('title', 'price')
@router.post('product/', auth=django_auth, response=ProductSchema)
def create_product(request, payload: ProductSchemaIn):
return Product.objects.create(**payload.dict())
const data = document.currentScript.dataset
const csrftoken = data.csrf
const baseUrl = '/api/v1/product/'
const headers = { "Content-Type": "application/json", "X-CSRFToken": csrftoken }
saveData() {
// Remove category e associa o restante a bodyData
// Transforma category em category_id para salvar automaticamente no Django-ninja.
const { category: _, ...bodyData } = {
...this.editItem,
category_id: this.editItem.category
}
fetch(`${baseUrl}product/`, {
method: "POST",
headers: headers,
body: JSON.stringify(bodyData),
})
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment