adds owner field to the snippet creation process
This commit is contained in:
parent
efa1329432
commit
1f8834c68b
|
@ -4,9 +4,11 @@ from django.contrib.auth.models import User
|
|||
|
||||
|
||||
class SnippetSerializer(serializers.ModelSerializer):
|
||||
|
||||
owner = serializers.ReadOnlyField(source="owner.username")
|
||||
class Meta:
|
||||
model = Snippet
|
||||
fields = ["id", "title", "code", "language", "line_numbers", "style"]
|
||||
fields = ["id", "title", "code", "language", "line_numbers", "style", "owner"]
|
||||
|
||||
def create(self, validated_data):
|
||||
return Snippet.objects.create(**validated_data)
|
||||
|
|
|
@ -29,6 +29,8 @@ from snippets.serializers import SnippetSerializer, UserSerializer
|
|||
|
||||
class SnippetList(APIView):
|
||||
|
||||
permission_classes = [IsAuthenticatedOrReadOnly]
|
||||
|
||||
def get(self, request, format=None):
|
||||
snippets = Snippet.objects.all()
|
||||
serializer = SnippetSerializer(snippets, many=True)
|
||||
|
@ -37,7 +39,7 @@ class SnippetList(APIView):
|
|||
def post(self, request, format=None):
|
||||
serializer = SnippetSerializer(data=request.data)
|
||||
if serializer.is_valid():
|
||||
serializer.save()
|
||||
serializer.save(owner=request.user)
|
||||
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
@ -68,6 +70,8 @@ class SnippetList(APIView):
|
|||
|
||||
class SnippetDetail(APIView):
|
||||
|
||||
permission_classes = [IsAuthenticatedOrReadOnly]
|
||||
|
||||
def get_object(self, pk):
|
||||
try:
|
||||
return Snippet.objects.get(pk=pk)
|
||||
|
|
|
@ -18,5 +18,6 @@ from django.urls import path, include
|
|||
|
||||
urlpatterns = [
|
||||
path("", include("snippets.urls")),
|
||||
path('admin/', admin.site.urls)
|
||||
path('admin/', admin.site.urls),
|
||||
path("api-auth/", include("rest_framework.urls"))
|
||||
]
|
||||
|
|
Loading…
Reference in New Issue