事先说几个坑:数据库定义字段时候,不要定义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/

最新文章

  1. Mac 下使用homebrew 安装node后全局安装找不到问题
  2. CentOS下用yum配置php+mysql+apache(LAMP)
  3. 13、NFC技术:读写非NDEF格式的数据
  4. C# 启动和结束一个线程
  5. jQuery 自学笔记—9 常见特效 (终章)
  6. HNTX_PC 代码总结
  7. RxSwift 之官方文档
  8. H3C inode for OSX 10.10 校园网客户端亲测可用
  9. 【RequireJS】requireJS的基础知识
  10. javaScript 设计模式系列之三:代理模式
  11. 关于Exceptionless的使用注意
  12. Java第一个程序之HelloWorld
  13. redis缓存雪崩,缓存穿透,缓存击穿的解决方法
  14. numpy中 array数组的shape属性
  15. matlab读取excel里的数据并用imagesc画图
  16. 按ctrl+shift切换不了输入法
  17. CorelDRAW中如何复制对象属性详解
  18. qt用mingw编译时报错 multiple definition of
  19. flask配置日志输出文件
  20. spring_restful_json_jdbc

热门文章

  1. Spring MyBatis配置文件
  2. MySQL高可用篇之MHA集群
  3. [不得不知道系列]Java线程面试你不得不知道的基础知识一
  4. 剑指Offer之变态跳台阶
  5. 工作中oracle常用操作
  6. [Office#PPT]0001.实例剖析-如何制作一个牛B的融资PPT
  7. Java多线程--synchronized的用法
  8. Spring boot Sample 008之spring-boot-logback
  9. jchdl - RTL实例 - And2(结构体的使用)
  10. 【大厂面试02期】Redis过期key是怎么样清理的?