pip install -U restless
python
from restless.dj import DjangoResource
from restless.preparers import FieldsPreparer
from your_app.models import Book
python
class BookResource(DjangoResource):
preparer = FieldsPreparer(fields={
'id': 'id',
'title': 'title',
'author': 'author',
'publication_date': 'publication_date',
})
def list(self):
return Book.objects.all()
def detail(self, pk):
return Book.objects.get(pk=pk)
def create(self):
data = self.data
book = Book.objects.create(
title=data['title'],
author=data['author'],
publication_date=data['publication_date'],
)
return book
def update(self, pk):
book = Book.objects.get(pk=pk)
data = self.data
book.title = data['title']
book.author = data['author']
book.publication_date = data['publication_date']
book.save()
return book
def delete(self, pk):
book = Book.objects.get(pk=pk)
book.delete()
return {}
python
from django.urls import include, path
from your_app.resources import BookResource
urlpatterns = [
path('api/', include(BookResource.urls())),
]