Escreva quase tudo no singular, é mais fácil.
- project: singular
- app: singular
- model: singular
- field: singular
- FK related_name: plural
- url: plural
- views: singular
django-admin.py startproject library .
cd library
python ../manage.py startapp book
# models.py
class Book(models.Model):
title = models.CharField('título', max_length=100, unique=True)
category = models.ForeignKey(
on_delete=models.CASCADE,
related_name='categories'
)
# urls.py
book_urlpatterns = [
path('', v.book_list, name='book_list'),
path('add/', v.book_create, name='book_create'),
path('<int:pk>/', v.book_detail, name='book_detail'),
path('<int:pk>/update', v.book_update, name='book_update'),
path('<int:pk>/delete', v.book_delete, name='book_delete'),
]
urlpatterns = [
path('books', include(book_urlpatterns)),
]
# views.py
def book_list(request):
...
def book_create(request):
...
def book_detail(request):
...
def book_update(request):
...
def book_delete(request):
...