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知识库 -> Python学习历程03--Django数据模型和站点管理(2022年) -> 正文阅读

[Python知识库]Python学习历程03--Django数据模型和站点管理(2022年)

Django数据模型和站点管理–Ubuntu18

模型

ORM框架进行数据库开发

  • MVT设计模式中的Model, 专门负责和数据库交互.对应(models.py)
  • 由于Model中内嵌了ORM框架, 所以不需要直接面向数据库编程.
  • 而是定义模型类, 通过模型类和对象完成数据库表的增删改查.
  • ORM框架就是把数据库表的行与相应的对象建立关联, 互相转换.使得数据库的操作面向对象.

定义模型类

  • 根据书籍表结构设计模型类:

    • 模型类:BookInfo
    • 书籍名称字段:name
  • 根据人物表结构设计模型类:

    • 模型类:PeopleInfo
    • 人物姓名字段:name
    • 人物性别字段:gender
    • 外键约束:book
      • 外键要指定所属的模型类book = models.ForeignKey(BookInfo)
  • 说明 :

    • 书籍-人物的关系为一对多. 一本书中可以有多个英雄.
    • 不需要定义主键字段, 在生成表时会自动添加, 并且值为自增长.
  • 根据数据库表的设计

    • models.py中定义模型类,继承自models.Model

    • from django.db import models
      
      # Create your models here.
      # 准备书籍列表信息的模型类
      class BookInfo(models.Model):
          # 创建字段,字段类型...
          name = models.CharField(max_length=10)
      
      # 准备人物列表信息的模型类
      class PeopleInfo(models.Model):
          name = models.CharField(max_length=10)
          gender = models.BooleanField()
          # 外键约束:人物属于哪本书
          book = models.ForeignKey(BookInfo)
      

在这里插入图片描述

模型迁移 (建表)

(python-django) andre@ubuntu18:~/Desktop/python1/bookmanager$ python manage.py makemigrations
Migrations for 'book':
  book/migrations/0001_initial.py
    - Create model BookInfo
    - Create model PeopleInfo
(python-django) andre@ubuntu18:~/Desktop/python1/bookmanager$ python manage.py migrate
Operations to perform:
  Apply all migrations: admin, auth, book, contenttypes, sessions
Running migrations:
  Applying contenttypes.0001_initial... OK
  Applying auth.0001_initial... OK
  Applying admin.0001_initial... OK
  Applying admin.0002_logentry_remove_auto_add... OK
  Applying contenttypes.0002_remove_content_type_name... OK
  Applying auth.0002_alter_permission_name_max_length... OK
  Applying auth.0003_alter_user_email_max_length... OK
  Applying auth.0004_alter_user_username_opts... OK
  Applying auth.0005_alter_user_last_login_null... OK
  Applying auth.0006_require_contenttypes_0002... OK
  Applying auth.0007_alter_validators_add_error_messages... OK
  Applying auth.0008_alter_user_username_max_length... OK
  Applying book.0001_initial... OK
  Applying sessions.0001_initial... OK

站点管理

创建管理员

(python-django) andre@ubuntu18:~/Desktop/python1/bookmanager$ python manage.py createsuperuser

登陆站点 :http://127.0.0.1:8000/admin

应用admin.py文件中注册模型类

  • 需要导入模型模块 :from book.models import BookInfo,PeopleInfo
(python-django) andre@ubuntu18:~/Desktop/python1/bookmanager/book$ more admin.py 
from django.contrib import admin

# Register your models here.
from book.models import BookInfo,PeopleInfo

admin.site.register(BookInfo)
admin.site.register(PeopleInfo)

在这里插入图片描述
在这里插入图片描述

后续

上一章节
下一章节

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-04-29 12:06:21  更:2022-04-29 12:06:58 
 
开发: 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 15:51:15-

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