У меня есть модель сервисов, которая связана с моделью пользователя с использованием внешнего ключа. Я хочу, чтобы пользователи могли выполнять операции crud по URL-адресу http://localhost: 8000 / api / users / username-go-here / services / edit / services / . Как мне сделать модель просмотра, которая может создавать, редактировать и удалять только если вы являетесь этим пользователем? Я хочу, чтобы имя пользователя было полем поиска. Вся помощь очень ценится.
Вот модель:
class Services(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='artistservices')
name = models.CharField(max_length=50)
viewset:
from .serializers import ServicesSerializer
class EditUserServicesView(viewsets.ModelViewSet):
queryset=Services.objects.all()
serializer_class = ServicesSerializer
urls.py:
from .views import EditUserServicesView
from rest_framework.routers import DefaultRouter
from rest_framework import routers
router = routers.DefaultRouter()
router.register('services', EditUserServicesView)
from django.urls import path, include
urlpatterns = [
path('users/<username>/services/edit/', include(router.urls)),
]
serializers.py
from models import Services
class ServicesSerializer(serializers.ModelSerializer):
class Meta:
model = Services
fields = '__all__'
Большое спасибо!