第五章 Django 数据模型系统(基本使用)

这篇具有很好参考价值的文章主要介绍了第五章 Django 数据模型系统(基本使用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

第一章 Django 基本使用
第二章 Django URL路由系统
第三章 Django 视图系统
第四章 Django 模板系统
第五章 Django 数据模型系统(基本使用)
第六章 Django 数据模型系统(多表操作)
第七章 Django 用户认证与会话技术
第八章 Django CSRF防护



了解静态网址与动态网址

静态网站和动态网站是两种不同类型的网站,它们在页面内容、URL结构、数据库支持、交互性、技术实现、更新和维护以及适用场景等方面存在明显的区别。

静态网站,也被称为静态网页,其页面内容相对固定,不随用户或时间的变化而变化。它不需要后台数据库的支持,当用户请求页面时,服务器直接返回预先编辑好的页面内容。静态网站的URL结构通常比较简单,一般以.html、.shtml等结尾。然而,静态网页的内容一旦确定,就很难进行修改和更新。

动态网站则利用数据库存储和管理数据,能够根据用户的操作或其他参数变化来显示不同的内容。它的URL结构可能相对复杂,可能包含一些特殊字符或参数。此外,动态网站可以实现更丰富的交互性。动态网页并不是指网页上有动画或者滚动字幕等视觉上的“动态效果”,无论网页是否具有动态效果,只要是采用动态网站技术生成的网页都称为动态网页。

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

ORM是什么

对象关系映射:是一种程序设计技术,用于实现面向对象编程语言 里不同类型系统的数据之间的转换。简单来说就是在编程语言中实现的一种虚拟对象数据库。我们对虚拟对象 数据库进行操作,它会转换成具体的SQL去操作数据库,这样一来我们就不需要学习复杂的SQL语句了。

ORM优势:不必熟悉复杂的SQL语句,容易上手,避免新手写SQL效率问题第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

Model模型类定义

linux新建项目

# 终端执行命令
django-admin startproject  orm

linux 创建应用

# 终端执行命令
cd orm
python3 manage.py startapp myorm

修改django允许访问的

# orm/setting.py
ALLOWED_HOSTS = ['*']

模型类常用字段

字段类型 描述
AutoField(**options) ID自动递增,会自动添加到模型中
BooleanField(**options) 布尔值字段(true/false),默认值是None
CharField(max_length=None[,**options]) 存储各种长度的字符串
EmailField([max_length=254,**options]) 邮件地址,会检查是否合法
FileField([upload_to=None,max_length=100,**options]) 保存上传文件。upload_to是保存本地的目录路径
FloatField([**options]) 浮点数
IntegerField([**options]) 整数
GenericIPAddressField(protocol=’both’, unpack_ipv4=False, **options) IP地址
TextField([**options]) 大文本字符串
URLField([max_length=200,**options]) 字符串类型的URL
DateTimeField([auto_now=False,auto_now_add=False,**options]) 日期和时间
• auto_now=True时,第二次保存对象时自动设置为当前时间。
最后一次修改的时间戳,比如更新。
• auto_now_add=True时,第一次创建时自动设置当前时间。用
建时间的时间戳,比如新增。
DateField([auto_now=False,auto_now_add=False,**options]) 日期
TimeField([auto_now=False,auto_now_add=False,**options]) 时间

Django中定义表

使用模型类定义一个User表,并包含字段

# myorm/models.py
from django.db import models

# Create your models here.
# 定义一个用户表,继承model类
class User(models.Model):
    user = models.CharField(max_length=30) # 定义user字段,并定义为字符串以及设置长度
    name = models.CharField(max_length=30) # 定义name字段,并定义为字符串以及设置长度
    sex = models.CharField(max_length=10) # 定义sex字段,并定义为字符串以及设置长度
    age = models.IntegerField() # 定义age字段,并定义为整型
    label = models.CharField(max_length=100) # 定义label字段,并定义为字符串以及设置长度

Django中配置表

再setting.py配置文件中INSTALLED_APPS列表添加APP名称

# orm/settings.py
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'myorm', # 增加这一行
]

Django生成具体的数据库表

1.python manage.py makemigrations:这个命令用于根据你对模型的更改生成迁移文件。这些迁移文件包含了将你的模型更改应用到数据库所需的SQL语句。当你对模型进行更改时,例如添加、删除或修改字段,你需要运行这个命令来生成相应的迁移文件。

2.python manage.py migrate:这个命令用于执行数据库迁移。它会根据你在上一步生成的迁移文件,将更改应用到数据库中。这通常在开发环境中使用,以确保你的模型更改不会破坏现有的数据。在生产环境中,你可能需要手动执行迁移,或者使用其他工具(如Django的数据库迁移工具)来自动执行迁移。

# 终端上执行命令
python3 manage.py makemigrations
python3 manage.py migrate

表名默认名称

生成表名的默认格式:应用名_模型类名小写

使用MySQL数据库

启动mysql两种方式

docker启动一个mysql

# 终端执行命令
docker run -d \
--name db \
-p 3306:3306 \
-v mysqldata:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123.com \
MYSQL:5.7.21 --character-set-server=utf8

docker-compsoe启动一个mysql

# docker-compose.yaml
version: "2"
services:
  mysqld:
    container_name: mysql
    environment:
      MYSQL_ROOT_PASSWORD: "123.com"
    image: mysql:5.7.21
    restart: always
    volumes:
      - "./db:/var/lib/mysql"
    ports:
      - "3306:3306"
    command:
      #mysql5.7及以上 版本 默认连接方式 不是以密码形式连接 所以远程连接不方便 改为密码连接
      --default-authentication-plugin=mysql_native_password 
      --character-set-server=utf8mb4
      --explicit_defaults_for_timestamp=true
      --max_allowed_packet=64M
      --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"
      --skip-name-resolve
# 终端执行命令,进行启动数据库
docker-compose up -d

数据库创建库

# 终端上执行命令
docker exec -it 数据库ID bash # 进入数据库容器
mysql -u root -p'123.com'

## 登录数据库后创建库
create database orm_test;
## 验证是否创建成功
show databases;

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

Django安装pymysql模块

# 终端执行命令
pip install pymysql

Django指定数据库驱动

pymysql库安装为MySQLdb模块,目的是为了让Python在处理MySQL数据库时,能够识别并使用pymysql库提供的API

# myorm/__init__.py
import pymysql
pymysql.install_as_MySQLdb()

修改DJango指定mysql数据源

  • 'ENGINE': 'django.db.backends.mysql': 指定使用的数据库引擎为MySQL。
  • 'NAME': 'orm_test': 数据库的名称,这里使用的是名为"orm_test"的数据库。
  • 'USER': 'root': 数据库的用户名,这里使用的是"root"用户。
  • 'PASSWORD': '123.com': 数据库的密码,这里使用的是"123.com"作为密码。
  • 'HOST': '10.0.24.2': 数据库服务器的主机地址,这里使用的是IP地址"10.0.24.2"。
  • 'PORT': '3306': 数据库服务器的端口号,这里使用的是默认的MySQL端口号3306。
# orm/settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'orm_test',
        'USER': 'root',
        'PASSWORD': '123.com',
        'HOST': '10.0.24.2',
        'PORT': '3306',
    }
}

Django迁移文件生成表

# 终端执行命令
python3 manage.py migrate

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

登录数据库验证是否成功

# 终端上执行命令
docker exec -it 数据库ID bash # 进入数据库容器
mysql -u root -p'123.com'

use orm_test;
show tables;

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

这个是Django框架默认的数据表

  • auth_group: 存储用户组的信息,每个用户组可以有多个用户。
  • auth_group_permissions: 存储用户组和权限之间的关系,一个用户组可以拥有多个权限。
  • auth_permission: 存储应用程序的权限信息,每个权限对应一个特定的操作或功能。
  • auth_user: 存储用户的基本信息,包括用户名、密码等。
  • auth_user_groups: 存储用户和用户组之间的关系,一个用户可以属于多个用户组。
  • auth_user_user_permissions: 存储用户和权限之间的关系,一个用户可以拥有多个权限。
  • django_admin_log: 记录管理员的操作日志,用于审计和管理目的。
  • django_content_type: 存储应用程序的内容类型信息,每个内容类型对应一个特定的模型。
  • django_migrations: 存储数据库迁移的历史记录,用于版本控制和回滚操作。
  • django_session: 存储用户的会话信息,包括会话ID、过期时间等。

启动Django项目

# 终端上执行命令
python3 manage.py runserver 0.0.0.0:8080

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

验证

http://49.232.221.200:8080/

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

ORM增删改查

启动mysql日志(测试环境)

general_log是MySQL的通用查询日志,它记录了所有客户端执行的语句。这个日志可以帮助开发者和数据库管理员了解数据库的使用情况,诊断问题和优化性能。但是,由于它会记录所有的查询语句,所以可能会影响数据库的性能。在生产环境中,建议关闭此日志功能。

show variables like '%general%';
set global general_log=on;

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

下面所有增删改查的日志都会记录到这,学习时候可以参考

命令行增加(1)

命令行进行增加

python3 manage.py shell 是一个命令,用于启动 Django 项目的交互式 shell。在 shell 中,你可以执行各种数据库操作、模型查询等操作。

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

# 再项目目录下进行执行
python3 manage.py shell
from myorm.models import User
from myorm.models import User

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

Django项目增加(2)

使用Django项目进行增加

路由
# orm/urls.py
from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('myorm/',include('myorm.urls'))
]
路由
# myorm/urls.py
from django.urls import include, path
from myorm import views
urlpatterns = [
    path('index',views.index)
]
视图
from django.shortcuts import render, HttpResponse
from myorm.models import User

# Create your views here.

def index(request):
    try:
        User.objects.create(user="wang2", name="王2", sex="男2", age=40, label="打工人2")
        return HttpResponse("添加成功")
    except Exception as e:
        return HttpResponse(f"失败原因:{str(e)}")
验证

http://49.232.221.200:8080/myorm/index

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

Django表单提交(3)

路由
# myorm/urls.py
from django.urls import include, path
from myorm import views
urlpatterns = [
    path('index',views.index)
]
视图
# from django.shortcuts import render, HttpResponse
from myorm.models import User

# Create your views here.

def add_user(request):
    if request.method == "GET":
        return render(request,"register.html")
    elif request.method == "POST":
        username = request.POST.get('user')
        name = request.POST.get('name')
        sex = request.POST.get('sex')
        age = request.POST.get('age')
        label = request.POST.get('label')
        try:
            User.objects.create(user=username, name=name, sex=sex, age=age, label=label)
            return HttpResponse("添加成功")
        except Exception as e:
            return HttpResponse(f"失败原因:{str(e)}")
页面
<!-- myrom/templates/register.html -->
</html>
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>用户注册</title>
    </head>
    <body>
        <form action="" method="post">
            <h1>用户注册</h1>
            用户名:<input type="text" name="user" required><br>
            姓名:<input type="text" name="name" required><br>
            性别:<select name="sex" required>
                <option value=""></option>
                <option value=""></option>
            </select><br>
            年龄:<input type="number" name="age" min="0" required><br>
            标签:<input type="text" name="label"><br>
            <button type="submit">提交</button>
        </form>        
    </body>

</html>
关闭CSRF防护功能
# orm/setting.py
MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    # 'django.middleware.csrf.CsrfViewMiddleware', # 注释这行
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
验证

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

使用save方式(4)

命令行进行执行

# orm项目下
from myorm.models import User
user = User()
user.user = "wang3"
user.name = "王3"
user.sex = "男3"
user.age = 50
user.label = "IT3"
user.save()
验证

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

获取数据库表所有数据

User.objects.all() # 获取全部数据

路由
# myrom/urls.py
from django.urls import include, path, re_path
from myorm import views
urlpatterns = [
    re_path("listuser/$",views.list_user)
]
视图
from django.http import JsonResponse
from django.shortcuts import render, HttpResponse
from myorm.models import User


# Create your views here.

def list_user(request):
    users = User.objects.all()
    result = [{'name': user.name, 'sex': user.sex ,'age':user.age} for user in users]
    return JsonResponse(result, safe=False)
验证

http://49.232.221.200:8080/myorm/listuser/

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

根据条件获取数据

User.objects.filter(user=‘wang’) # 获取用户为wang的

User.objects.filter(age__gt=28) # 获取年龄大于28的

路由
# myrom/urls.py
from django.urls import include, path, re_path
from myorm import views
urlpatterns = [
    re_path("listcondition/$",views.list_condition)
]
视图
from django.http import JsonResponse
from django.shortcuts import render, HttpResponse
from myorm.models import User


# Create your views here.

def list_condition(request):
    # users = User.objects.filter(user='wang')
    users = User.objects.filter(age__gt=30)
    result = [{'name': user.name, 'sex': user.sex ,'age':user.age} for user in users]
    return JsonResponse(result, safe=False)
验证

http://49.232.221.200:8080/myorm/listcondition/

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

根据一条数据

User.objects.get(id=2)

路由
# myrom/urls.py
from django.urls import include, path, re_path
from myorm import views
urlpatterns = [
    re_path("listcondition/$",views.list_condition)
]
视图
from django.http import JsonResponse
from django.shortcuts import render, HttpResponse
from myorm.models import User


# Create your views here.

def list_condition(request):
    user = User.objects.get(id=2)
    result = [{'name': user.name, 'sex': user.sex, 'age': user.age}]
    return JsonResponse(result, safe=False)
验证

http://49.232.221.200:8080/myorm/listcondition/

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

路由
# myrom/urls.py
from django.urls import include, path, re_path
from myorm import views
urlpatterns = [
    re_path("modify/$",views.modify)
]
视图
from django.http import JsonResponse
from django.shortcuts import render, HttpResponse
from myorm.models import User


# Create your views here.

def modify(request):
    try:
        User.objects.filter(user='wang').update(age=27,label='公关')
        return HttpResponse("修改成功")
    except Exception as e:
        return HttpResponse(f"失败原因:{str(e)}")
验证

http://49.232.221.200:8080/myorm/modify/

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

路由
# myrom/urls.py
from django.urls import include, path, re_path
from myorm import views
urlpatterns = [
    re_path("userdel/$",views.userdel)
]
视图
from django.http import JsonResponse
from django.shortcuts import render, HttpResponse
from myorm.models import User


# Create your views here.

def userdel(request):
    try:
        User.objects.filter(user='wang3').delete()
        return HttpResponse("删除成功")
    except Exception as e:
        return HttpResponse(f"失败原因:{str(e)}")
验证

http://49.232.221.200:8080/myorm/userdel/

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

Django内置管理后台

网站开发,一般都会有一个管理后台系统,向管理员提供操作

django默认的管理员网址

路由

# orm/urls.py
from django.contrib import admin  # 内建管理后台功能
from django.urls import include, path

urlpatterns = [
    path('admin/', admin.site.urls)  # 内建管理后台访问地址
]

验证

http://49.232.221.200:8080/admin

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

创建管理员账户

python manage.py createsuperuser

设置的账户是admin 密码是 admin

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

注册模型

# myorm/admin.py
from django.contrib import admin
from myorm import models

# Register your models here.

admin.site.register(models.User) # 把User表注册到django的管理后台中

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

后台显示为中文

# orm/setting.py
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_TZ = False

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

通过管理后台增加

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

保存后,出现下方界面

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

通过管理后台修改

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

通过管理后台删除

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

模型中的Meata类与方法

Django模型类的Meta是一个内部类,用于定义模型的一些元数据。这些元数据包括数据库表名、排序方式、是否允许空值等。在模型类中,可以通过继承Model类并添加Meta子类来定义Meta属性

元选项 描述
db_table 指定数据库表名。默认情况下,Django会使用模型类的英文名称转换为小写字母加上"_set"后缀作为表名
ordering 指定模型实例在查询结果中的排序方式。可以使用字符串列表或字段对象列表来指定排序字段
db_table 指定生成的数据库表名称,默认是”应用名_模型名”
verbose_name 定义一个易读的模型名称,默认会加一个复数s
verbose_name_plural 定义一个易读的模型名称,不带复数s

模型类常用字段

选项 描述
null 如果为True,字段用NULL当做空值,默认False
blank 如果为True,允许为空,默认False
db_index 如果为True,为此字段建立索引
default 字段的默认值
primary_key 如果为True,设置为主键
unique 如果为True,保持这个字段的值唯一
verbose_name 易读的名称,管理后台会以这个名称显示

例子1

# myorm/models.py
from django.db import models

# Create your models here.
# 定义一个用户表,继承model类
class User(models.Model):
    user = models.CharField(max_length=30) # 定义user字段,并定义为字符串以及设置长度
    name = models.CharField(max_length=30) # 定义name字段,并定义为字符串以及设置长度
    sex = models.CharField(max_length=10) # 定义sex字段,并定义为字符串以及设置长度
    age = models.IntegerField() # 定义age字段,并定义为整型
    label = models.CharField(max_length=100) # 定义label字段,并定义为字符串以及设置长度
    
    class Meta:
        app_label = "myorm" # 指定APP名称
        db_table = 'user'   # 自定义生成的表名
        managed = True     # Django自动管理数据库表
        verbose_name = '用户表'  # 对象的可读名称
        verbose_name_plural = '用户表'  # 名称复数形式
        ordering = ["sex"] # 对象的默认顺序,用于获取对象列表时
python3 manage.py makemigrations
python3 manage.py migrate

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

http://49.232.221.200:8080/admin/

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

例子2

# myorm/models.py
from django.db import models

# Create your models here.
# 定义一个用户表,继承model类
class User(models.Model):
    user = models.CharField(max_length=30) # 定义user字段,并定义为字符串以及设置长度
    name = models.CharField(max_length=30) # 定义name字段,并定义为字符串以及设置长度
    sex = models.CharField(max_length=10) # 定义sex字段,并定义为字符串以及设置长度
    age = models.IntegerField() # 定义age字段,并定义为整型
    label = models.CharField(max_length=100) # 定义label字段,并定义为字符串以及设置长度
    
    class Meta:
        app_label = "myorm" # 指定APP名称
        db_table = 'user'   # 自定义生成的表名
        managed = True     # Django自动管理数据库表
        verbose_name = '用户表'  # 对象的可读名称
        verbose_name_plural = '用户表'  # 名称复数形式
        ordering = ["sex"] # 对象的默认顺序,用于获取对象列表时
    def __str__(self) -> str:
        return self.name

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python

验证

http://49.232.221.200:8080/myorm/query/

QuerySet对象序列号

  • 序列化:将Python对象转为传输的数据格式

  • 反序列化:将传输的数据格式转为Python对象

    ORM查询返回的是QuerySet对象,如果你要提供数据接口,这显然是不行的。

    有两种方法可以转为JSON字符串:

    • 使用内建函数 serializers

    • 遍历QuerySet对象将字段拼接成字典,再通过json库编码

路由

# myrom/urls.py
from django.urls import include, path, re_path
from myorm import views
urlpatterns = [
    re_path("query/$",views.get_queryset)
]

视图

from django.http import JsonResponse
from django.shortcuts import render, HttpResponse
from myorm.models import User
from django.core import serializers

# Create your views here.

def get_queryset(request):
    data = User.objects.all()
    data1 = serializers.serialize('json',data)
    return HttpResponse(data1)

验证

http://49.232.221.200:8080/myorm/query/

第五章 Django 数据模型系统(基本使用),Django 3.x web开发,django,数据库,python文章来源地址https://www.toymoban.com/news/detail-757859.html

到了这里,关于第五章 Django 数据模型系统(基本使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第五章 基本引用类型(下)——原始值包装类型、

    5.3 原始值包装类型         为了方便操作原始值,ECMAScript提供了3种特殊的引用类型:Boolean、Number和String。这些类型具有本章介绍的其他引用类型一样的特点,但也具有与各自原始类型对应的特殊行为。每当用到某个原始值的方法或属性时,后台都会创建一个相应原始包

    2024年01月16日
    浏览(33)
  • 【Rust】Rust学习 第五章使用结构体组织相关联的数据

    定义结构体,需要使用  struct  并为整个结构体提供一个名字。结构体的名字需要描述它所组合的数据的意义。接着,在大括号中,定义每一部分数据的名字和类型,我们称为  字段 ( field )。 实例化(不可变变量) 可变变量 字段初始化简写语法 通过已经存着的变

    2024年02月13日
    浏览(38)
  • 姜启源数学模型第五版第五章火箭发射升空

    首先先简单的介绍数学建模是一个怎么样的内容 数学建模是一种将数学方法和技术应用于实际问题解决的过程。它通过建立数学模型来 描述、分析和预测现实世界中的各种问题 . 数学建模的内容可以包括以下几个方面: 1. 问题定义(问题重述) :明确问题的目标、约束条件和

    2024年02月11日
    浏览(25)
  • 使用MASA Stack+.Net 从零开始搭建IoT平台 第五章 使用时序库存储上行数据

    @ 目录 前言 分析 实施步骤 时序库的安装 解决playload没有时间戳问题 代码编写 测试 总结 我们可以将设备上行数据存储到关系型数据库中,我们需要两张带有时间戳的表( 最新数据表 和 历史数据表 ), 历史数据表 存储所有设备上报的数据, 最新数据表 需要存储设备最新

    2024年02月11日
    浏览(32)
  • 第五章:AI大模型的性能评估5.2 评估方法

    随着AI技术的发展,大型AI模型已经成为了研究和实际应用中的重要组成部分。为了确保这些模型的性能和可靠性,性能评估是一个至关重要的环节。在本章中,我们将讨论AI大模型性能评估的核心概念、算法原理、最佳实践以及实际应用场景。 在AI领域,性能评估是指评估模

    2024年02月22日
    浏览(28)
  • linux第五章(系统维护)

    一。进程管理命令 1.ps命令:显示进程信息 2.pstree命令:以树状形式进行展示 3.top命令:查看进程信息 4.kill命令:结束某个进程 二。磁盘管理 1.lsblk:对磁盘的使用情况进行查看 2.df:查看占系统的多少数据 3.du:查看文件或者目录在磁盘的占用量,不是真实大小 4.fdisk:查看磁

    2024年01月19日
    浏览(28)
  • 流式系统:第五章到第八章

    原文:Streaming Systems 译者:飞龙 协议:CC BY-NC-SA 4.0 我们现在从讨论编程模型和 API 转向实现它们的系统。模型和 API 允许用户描述他们想要计算的内容。在规模上准确地运行计算需要一个系统——通常是一个分布式系统。 在本章中,我们将重点介绍一个实现系统如何正确实现

    2024年01月21日
    浏览(78)
  • 操作系统-笔记-第五章-输入输出管理

    一、第一章——操作系统的概念 二、第二章——【进程】 二、第二章——【线程】​编辑 二、第二章——【进程调度】 二、第二章——【进程同步与互斥】 二、第二章——【锁】 三、第三章——内存管理 四、第四章——文件管理 五、第五章——输入输出管理 🚀 学习心

    2024年02月11日
    浏览(35)
  • Linux操作系统——第五章 进程信号

          目录 信号概念 用kill -l命令可以察看系统定义的信号列表 信号处理常见方式概览 产生信号 1. 通过终端按键产生信号 2. 调用系统函数向进程发信号 3. 由软件条件产生信号 4. 硬件异常产生信号 阻塞信号 1. 信号其他相关常见概念 2. 在内核中的表示 3. sigset_t 4. 信号集操作

    2024年02月11日
    浏览(33)
  • 网络_TCP/IP_第五章_交换机的基本原理与配置_实验案例二:交换机的基本配置

    如图5.18所示、两台交换机互连,并与四台计算机连接在一起,设备之间接口的连接情况如表5-4所示。 图 5-18 实验案例二示意图 表5-4 设备之间接口的连接情况         通过命令查看MAC地址表,观察各个接口对应的MAC地址;配置交换机互连接口的双工模式及速率,观察在双工模式

    2024年04月10日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包