rest_framework django 简单使用(数据库创建数据, 覆盖数据, 其他的大同小异)

事先说几个坑:数据库定义字段时候,不要定义name 要定义 username

首先, 定义model(简单定义)

from django.db import models
from django.contrib.auth.models import AbstractUser
# Create your models here.

# 可以不要定义ID ,id字段数据库会自动创建
class User(models.Model, models.Manager):

    class Meta:
        db_table = user

    username = models.CharField(db_column=username, max_length=128, null=True)
    text = models.CharField(db_column=text, max_length=128, null=True)

 

第二, 定义user的序列化器, 在你的app下新建一个.py文件,默认叫做serializers.py

from rest_framework import serializers
from .models import User


class UserSerializers(serializers.ModelSerializer):
    class Meta:
        model = User              # 指定序列化的model 是哪一个
        fields = [username, text]    # 指定需要序列化的字段
 
    def create(self, validated_data):
        print(validated_data)
        return User.objects.create(**validated_data)   # 这个create 调用的是类似QuerySet()这个类的方法,所以不会递归。



    def update(self, instance, validated_data):
        print(- * 30, update)
        # print(instance, validated_data, ‘~~~~~~~~~~~~~~~~~‘)
        instance.username = validated_data.get(username)
        instance.text = validated_data.get(text)
        instance.save() 
        return instance

第三步, 指定路由

from django.contrib import admin
from django.urls import path, includefrom hys import views
import hys

urlpatterns = [
    path(admin/, admin.site.urls),
    path(‘‘,views.Index.as_view())  # views : views 文件   Index:视图类  as_view():调用方式(具体意思不是特别清楚)
]

 

第四步, 配置settings

INSTALLED_APPS = [
    django.contrib.admin,
    django.contrib.auth,
    django.contrib.contenttypes,
    django.contrib.sessions,
    django.contrib.messages,
    django.contrib.staticfiles,
    hys,         # hys 为自己键的app 的名字
    rest_framework,   # rest_framework 为rest_framework 架构, 如果想使用,需要在这里制定。
]

 

配上官网实例(讲的非常详细):https://www.django-rest-framework.org/ 

rest_framework django 简单使用(数据库创建数据, 覆盖数据, 其他的大同小异)

上一篇:Mybatis 入门 --手把手教你使用 Mybatis 操作数据库


下一篇:oracle报无效日期(针对timeStamp)