From 861d7488653e114c5a3903073ec1b0879ccc2fc6 Mon Sep 17 00:00:00 2001 From: MaleicAcid Date: Sat, 2 Jun 2018 17:29:23 +0800 Subject: [PATCH] add TestRecord serializer --- web/apps/test_records/serializer.py | 20 +++++++++++++++++++- web/apps/test_records/views.py | 18 +++++++++++++----- web/pgperffarm/urls.py | 7 +++++-- 3 files changed, 37 insertions(+), 8 deletions(-) diff --git a/web/apps/test_records/serializer.py b/web/apps/test_records/serializer.py index dfc2479..dcff563 100644 --- a/web/apps/test_records/serializer.py +++ b/web/apps/test_records/serializer.py @@ -1,3 +1,21 @@ from rest_framework import serializers +from .models import TestRecord +class TestRecordSerializer(serializers.ModelSerializer): -class TestRecordSerializer(serializers): + ''' + use ModelSerializer + ''' + class Meta: + model = TestRecord + fields = "__all__" + + # test_machine_id = serializers.ForeignKey(UserMachine, verbose_name="test owner", + # help_text="person who add this test item") + # pg_info = serializers.ForeignKey(PGInfo, verbose_name="pg info", help_text="pg info") + # meta_info = serializers.ForeignKey(MetaInfo, verbose_name="meta info", help_text="meta info") + + # def create(self, validated_data): + # """ + # Create and return a new `Snippet` instance, given the validated data. + # """ + # return TestRecord.objects.create(**validated_data) \ No newline at end of file diff --git a/web/apps/test_records/views.py b/web/apps/test_records/views.py index f5a48fd..30e42a8 100644 --- a/web/apps/test_records/views.py +++ b/web/apps/test_records/views.py @@ -2,17 +2,25 @@ from __future__ import unicode_literals from django.shortcuts import render +from .serializer import TestRecordSerializer from rest_framework.views import APIView from rest_framework.response import Response from rest_framework import status from .models import TestRecord # Create your views here. -class SnippetList(APIView): +class TestRecordListView(APIView): """ - List all snippets, or create a new snippet. + List all records, or create a new record. """ def get(self, request, format=None): - testRecord = TestRecord.objects.all() - serializer = SnippetSerializer(snippets, many=True) - return Response(serializer.data) \ No newline at end of file + testRecords = TestRecord.objects.all() + records_serializer = TestRecordSerializer(testRecords, many=True) + return Response(records_serializer.data) + + def post(self, request, format=None): + serializer = TestRecordSerializer(data=request.data) + if serializer.is_valid(): + serializer.save() + return Response(serializer.data, status=status.HTTP_201_CREATED) + return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST) \ No newline at end of file diff --git a/web/pgperffarm/urls.py b/web/pgperffarm/urls.py index 5d4d6e2..3d58daa 100644 --- a/web/pgperffarm/urls.py +++ b/web/pgperffarm/urls.py @@ -17,12 +17,15 @@ from django.contrib import admin from django.views.generic.base import RedirectView from rest_framework.documentation import include_docs_urls -from test_records.view_base import TestListView + +from test_records.views import TestRecordListView +# from test_records.view_base import TestListView urlpatterns = [ # url(r'^admin/', admin.site.urls), url(r'^api-auth/', include('rest_framework.urls')), - url(r'status/$', TestListView.as_view(), name='test-list'), + url(r'status/$', TestRecordListView.as_view(), name='test-list'), + # url(r'status/$', TestListView.as_view(), name='test-list'), url(r'docs/', include_docs_urls(title='pgperffarm')), # Static pages -- 2.39.5