事先说几个坑:数据库定义字段时候,不要定义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 简单使用(数据库创建数据, 覆盖数据, 其他的大同小异)的更多相关文章

  1. T-SQL - query01_创建数据库|创建表|添加数据|简单查询

    时间:2017-09-29  整理:byzqy 本篇以"梁山好汉花名册"为例,记录MS SQLServer T-SQL语句的使用,包含命令: 创建数据库 | 删除数据库 创建表 | ...

  2. Django简单的数据库操作

    当然,本篇的前提是你已经配置好了相关的环境,这里就不详细介绍. 一. 在settings.py文件中设置数据库属性. 如下: DATABASES = { 'default': { 'ENGINE': ...

  3. django中的数据库迁移

    Django是用python写的web开发框架,其特点是: 1.重量级框架,内部封装了很多的功能组件,使开发变的简便快速, 2.MVT模式:前后端分离,高内聚低耦合,m:model,与mvc中的m功能 ...

  4. Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作

    SQLite  是一个轻量级的免费关系数据库.SQLite最初的设计目标是用于嵌入式系统,它占用资源非常少,在嵌入式设备中,只需要几百K的内存就够了,可以在(http://www.sqlite.org ...

  5. [置顶] Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作

    SQLite  是一个轻量级的免费关系数据库.SQLite最初的设计目标是用于嵌入式系统,它占用资源非常少,在嵌入式设备中,只需要几百K的内存就够了,可以在(http://www.sqlite.org ...

  6. django基础之数据库操作

    Django 自称是“最适合开发有限期的完美WEB框架”.本文参考<Django web开发指南>,快速搭建一个blog 出来,在中间涉及诸多知识点,这里不会详细说明,如果你是第一次接触D ...

  7. 通过SSH隧道的本地转发实现Django连接远程数据库

    SSH连接命令 默认连接的端口为22 1. 使用私钥 ssh -p connect_port user_name@host -i your_private_identity 2. 使用用户密码 ssh ...

  8. List循环添加数据覆盖问题

    问题:java开发时,当我们使用List.add();循环添加数据,有时会出现前面添加的数据会被后面覆盖的现象.这是怎么回事尼? 会覆盖数据的代码 package com.boot.test; imp ...

  9. Django初级手册1-项目和应用的创建与简单的数据库操作

    创建项目 django-admin.py startproject mysite 1. 目录结构 mysite/ #项目的名称 manage.py #可通过命令和项目进行交互的文件 mysite/ # ...

随机推荐

  1. Docker虚拟机配置手札(centos)

    一.Docker只支持CentOS7及以上系统,不支持6.x系统 二.yum安装Docker 1.安装相关环境和设置仓库 yum install -y yum-utils device-mapper- ...

  2. python大量造数据

    # -*- coding: utf-8 -*-# date=2020/1/21import timeimport pymysqlimport pymysql.cursors # 获取一个数据库连接,注 ...

  3. 用tarjan求LCA板子(比倍增快)

    懒!!直接转载!!!! https://solstice23.top/archives/62

  4. python脚本:在Ubuntu16系统上基于xtrabackup2.4和mysql5.7实现数据库数据的自动化备份和恢复,亲测有效!

    1 安装教程 官网安装教程:https://www.percona.com/doc/percona-xtrabackup/2.4/installation/apt_repo.html -------- ...

  5. Rocket - devices - TLDeadlock

    https://mp.weixin.qq.com/s/Zv4HE7zMBzHbsWGg3pa9fg 简单介绍TLDeadlock的实现. 1. TLDeadlock TLDeadlock是抽象类Dev ...

  6. Java实现 LeetCode 788 旋转数字(暴力)

    788. 旋转数字 我们称一个数 X 为好数, 如果它的每位数字逐个地被旋转 180 度后,我们仍可以得到一个有效的,且和 X 不同的数.要求每位数字都要被旋转. 如果一个数的每位数字被旋转以后仍然还 ...

  7. Java实现 LeetCode 700 二叉搜索树中的搜索(遍历树)

    700. 二叉搜索树中的搜索 给定二叉搜索树(BST)的根节点和一个值. 你需要在BST中找到节点值等于给定值的节点. 返回以该节点为根的子树. 如果节点不存在,则返回 NULL. 例如, 给定二叉搜 ...

  8. Java实现 LeetCode 403 青蛙过河

    403. 青蛙过河 一只青蛙想要过河. 假定河流被等分为 x 个单元格,并且在每一个单元格内都有可能放有一石子(也有可能没有). 青蛙可以跳上石头,但是不可以跳入水中. 给定石子的位置列表(用单元格序 ...

  9. Java实现 LeetCode 128 最长连续序列

    128. 最长连续序列 给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为 O(n). 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连 ...

  10. Java实现 洛谷 P1738 洛谷的文件夹

    题目描述 kkksc03是个非凡的空想家!在短时间内他设想了大量网页,然后总是交给可怜的lzn去实现. 洛谷的网页端,有很多文件夹,文件夹还套着文件夹. 例如:/luogu/application/c ...