IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> django 模型层 -> 正文阅读

[Python知识库]django 模型层

django 模型层

模型层处于视图层和数据库之间,将python对象和数据库表之间转换,将表中的记录转换为对象的数据。

  • 用于屏蔽不同数据库之间的差异

django数据库配置位于django_introduction文件夹下的setting.py文件中

# 是数据库配置
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': BASE_DIR / 'db.sqlite3',
    }
}

修改django使用mysql数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # 数据库引擎
        'NAME': 'django_mysql', # 数据库名
        'USER': 'root', # 账号
        'PASSWORD': 'root', # 密码
        'HOST': '127.0.0.1', # HOST
        'POST': 3306, # 端口

    }
}

定义模型

修改blog文件夹下的models.py文件

添加文章模型

from django.db import models


class Article(models.Model):
    # 文章ID
    article_id = models.AutoField(primary_key=True)
    # 文章标题
    title = models.TextField()
    # 文章摘要
    brief_content = models.TextField()
    # 文章内容
    content = models.TextField()
    # 文章发布日期
    publish_date = models.DateTimeField(auto_now=True)

生成模型迁移文件

python .\manage.py makemigrations

根据模型迁移文件执行数据库修改

python .\manage.py migrate

注册模型

注册模型可以在django后台管理页面(admin模块)看到操作这个表格,可以不注册

修改blog文件夹下的admin.py文件

from .models import Article
# 注册Article模型
admin.site.register(Article)

模型操作

from blog.models import Article

class test():
    a = Article()
    a.title = '测试'
    a.brief_content = '测试djangoshell'
    a.content = '测试django shell 2022/2/1'
    # 保存模型到数据库
    a.save()
    # 查询该表的所有记录,结果是一个列表
    articles = Article.objects.all()

修改预览模块中显示模型的数据

修改模型model中的模型,添加方法str方法

# Create your models here.
from django.db import models


class Article(models.Model):
    # 文章ID
    article_id = models.AutoField(primary_key=True)
    # 文章标题
    title = models.TextField()
    # 文章摘要
    brief_content = models.TextField()
    # 文章内容
    content = models.TextField()
    # 文章发布日期
    publish_date = models.DateTimeField(auto_now=True)

    def __str__(self):
        # admin模块中预览数据显示的信息
        return self.title

进入后台后显示模型数据列表时会默认显示str方法返回的属性

在这里插入图片描述

模型层数据类型

类型名称类型属性
数字类型IntegerField
文本类型TextFielddefault=‘’:设置默认值 ; primary_key=True:设置为主键
日期类型DateTimeFieldauto_now=True:默认值为当前日期
自曾IDAutoFieldprimary_key=True:设置为主键
货币字段类型DecimalFieldmax_digits=4: 数组最大位数;decimal_places=2:小数最大位数
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-02-14 21:05:39  更:2022-02-14 21:07:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:40:05-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码