django (python) 使用 models serializers views key_words

1. models

from django.db import models


class Test(models.Model):
    id = models.BigAutoField(primary_key=True, max_length=20)
    name = models.CharField(max_length=255, null=False, blank=False)
    value = models.TextField(db_column='value',null=False, blank=False)
    
    def __str__(self):
        reutrn self.name
        
    class Meta:
        db_table = 'test' #数据库名


2. serializers

from rest_framework import serializers

class TestSerializer(serializers.Serializer):
    id = serializers.IntegerField(read_only=True)
    name = serializers.CharField(read_only=True)
    value = serializers.CharField(read_only=True)

3. views

from .models import Test
from .serializers import TestSerializer
from rest_framework.viewsets import GenericViewSet
from rest_framework import status
from django.http import HttpResponse, JsonResponse
from rest_framework.response import Response



class TestViewSet(GenericViewSet):
    authentication_classes = (TokenAuthentication,)
    serializer_class = CfsTestSerializer
    queryset = CfsTest.objects.all()

    def get_test(self, request, *args, **kwargs):
        serializer = self.get_serializer(self.queryset)
        print('\n==================\n')
        print("data:")
        print(serializer.data)
        print("\n=================\n")

        t0 = time.clock()
        d = Test.objects.all()
        serializer = TestSerializer(data=d, many=True)
        serializer.is_valid()
        datas = serializer.data
        data = datas[0].get('value')
        t1 = time.clock()
        print("time:", t1-t0)

        return Response("end...")

4. key_words

关键字:

  1. db_column

  2. db_table

  3. null=True/False

  4. blank=True/False

  5. default='default'

  6. primary_key=True

  7. max_length=255

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值