Django学习【第5篇】:Django之ORM数据库操作

django之ORM数据库操作

一、ORM介绍

映射关系:

  表名 --------------------》类名

  字段--------------------》属性

  表记录-----------------》类实例化对象

ORM的两大功能:

  操作表:

    - 创建表

    - 修改表

    - 删除表

  操作数据行:

    - 增删改查

ORM利用pymysql第三方工具链接数据库

Django没办法帮我们创建数据库,只能我们创建完之后告诉它,让django去链接

二、创建表之前的准备工作

一、自己创建数据库

二、在settings里面配置mysql数据库链接

  sqlite3------改为mysql

# 修改django默认的数据库的sqlite3为mysql
DATABASES = {
    ‘default‘: {
            ‘ENGINE‘: ‘django.db.backends.mysql‘, #通过这个去链接mysql
            ‘NAME‘: ‘djangotsgl‘,
            ‘USER‘:‘root‘,
            ‘PASSWORD‘:‘123456‘,
            ‘HOST‘:‘localhost‘,
            ‘PORT‘:‘3306‘,
        }
    }            

  这样写上以后django会默认的就去链接数据库,这时你会看到报错了,那么解决的办法就是下面的这样

三、app01中的--init--文件

import pymysql
pymysql.install_as_MySQLdb()

四、创建数据库表

models.py

class Book(models.Model):  #必须要继承的
    nid = models.AutoField(primary_key=True)  #自增id(可以不写,默认会有自增id)
    title = models.CharField(max_length=32)
    publishDdata = models.DateField()  #出版日期
    author = models.CharField(max_length=32)
    price = models.DecimalField(max_digits=5,decimal_places=2)  #一共5位,保留两位小数
    

执行命令创建:(需要记住的!!!) 

python3 manage.py makemigrations   创建脚本
python3 manage.py migrate   迁移

具体例子实现

model.py

urls.py

views.py

template /index.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <meta http-equiv="X-UA-Compatible" content="IE=edge">
 6     <meta name="viewport" content="width=device-width">
 7     <title>Title</title>
 8     <link rel="stylesheet" href="/static/bootstrap-3.3.7-dist/css/bootstrap.min.css">
 9     <script src="/static/bootstrap-3.3.7-dist/js/bootstrap.min.js"></script>
10     <style>
11         table{
12             margin-top: 50px;
13         }
14     </style>
15 </head>
16 <body>
17 <div class="containers">
18     <div class="row">
19         <div class="col-md-9 col-md-offset-2">
20             <table class="table table-hover">
21                 <thead>
22                     <tr>
23                         <th>编号</th>
24                         <th>书名</th>
25                         <th>出版日期</th>
26                         <th>作者</th>
27                         <th>价钱</th>
28                         <th>操作</th>
29                     </tr>
30                 </thead>
31                 <tbody>
32                 {% for book in book_list %}
33                     <tr>
34                             <td>{{ book.nid }}</td>
35                             <td>{{ book.title }}</td>
36                             <td>{{ book.publishDdata|date:‘Y-m-d‘ }}</td>
37                             <td>{{ book.author }}</td>
38                             <td>{{ book.price }}</td>
39                             <td>
40                                 <a href="/del/{{ book.nid }}"><button class="btn btn-danger">删除</button></a>
41                                 <a href="/edit/{{ book.nid }}"><button class="btn btn-success">编辑</button></a>
42                                 <a href="/add/"><button class="btn btn-primary">添加</button></a>
43                             </td>
44                     </tr>
45                 {% endfor %}
46                 </tbody>
47             </table>
48         </div>
49     </div>
50 </div>
51 </body>
52 </html>

五、查看数据库的sql语句(加在settings.py)

查看数据库执行代码
LOGGING = {
    ‘version‘: 1,
    ‘disable_existing_loggers‘: False,
    ‘handlers‘: {
        ‘console‘:{
            ‘level‘:‘DEBUG‘,
            ‘class‘:‘logging.StreamHandler‘,
        },
    },
    ‘loggers‘: {
        ‘django.db.backends‘: {
            ‘handlers‘: [‘console‘],
            ‘propagate‘: True,
            ‘level‘:‘DEBUG‘,
        },
    }
}

原文地址:https://www.cnblogs.com/kcwxx/p/10156038.html

时间: 2024-10-11 16:06:30

Django学习【第5篇】:Django之ORM数据库操作的相关文章

Django学习之配置篇

Django之路:安装与配置 MTV Model Template View 数据库 模版文件 业务处理 了解Django框架,功能齐全 一.安装Django&Django基本配置 安装Django pip3 django 配置Django 1.配置Django环境变量 D:\Program files\python37 D:\Program files\python37\Lib\site-packages\django\bin D:\Program files\python37\Scripts

django学习~第四篇

django表单   1  今天继续来学学django的表单       首先介绍下http的方法,这是最基本的       GET 方法 GET一般用于获取/查询 资源信息,以?分割URL和传输数据,多个参数用&连接,login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0 %E5%A5%BD GET提交的数据会在地址栏中显示出来       POST 方法 而POST一般用于更新 资源信息 把提交的数据放置在是HTT

django学习~第五篇

一 简介:之前我们都是大概了解了下django本身和一些基本功能 这次我们深入一些聊        model模块 此处不考虑外键等特殊情况       今天来实现用户注册界面       1 常见的具体字段介绍            AutoField 自增列            CharField 字符类型            BooleanField 布尔类型            DateTimeField 日期类型           IntegerField 整型       2

【Django】ORM数据库操作

Django-ORM数据库操作 映射关系: 表名 -------------------->类名 字段-------------------->属性 表记录----------------->类实例化对象 ORM的两大功能: 操作表: - 创建表 - 修改表 - 删除表 操作数据行: - 增 删 改 查 ORM利用pymysql第三方工具链接数据库 Django默认的是sqlite数据库 将Django数据库修改为mysql: 1.settings.py 配置 DATABASES = {

django 学习个人总结 之form提交放到数据库中

project:test04 app:blog models.py from django.db import models class User(models.Model): username = models.CharField(max_length=20) headImg = models.FileField(upload_to='./upload/') views.py from django.shortcuts import render_to_response from django

Django-website 程序案例系列-4 ORM数据库操作

数据库表的创建: 使用mysql时注意,在setting.py中的设置: DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', #mysql的引擎 'NAME': '', #数据库名 'USER': '', #数据库用户名 'PASSWORD': '', #数据库密码 'HOST': '127.0.0.1', #数据库host 'PORT': '3306', #数据库端口 },} 还需在项目文件夹下的__init__.p

android菜鸟学习笔记20----Android数据存储(四))Android数据库操作

Android内置了一个名为SQLite的关系型数据库,这是一款轻量型的数据库,操作十分简便.SQLite与别的数据库不同的是,它没有数据类型.可以保存任何类型的数据到你所想要保存的任何表的任何列中.但它又支持常见的类型比如: NULL, VARCHAR, TEXT, INTEGER, BLOB, CLOB...等. 唯一的例外是:integer primary key 此字段只能存储64位整数. 在JAVA项目中,要使用JDBC操作数据库需要加载数据库驱动,连接数据库等操作.Android简化

Django学习【第5篇】:Django之ORM数据库操作注意细节

自己没有记住的一点小知识(ORM查询相关) 一.多对多的正反向查询 class Class(models.Model): name = models.CharField(max_length=32,verbose_name="班级名") course = models.CharField(verbose_name="课程",max_length=32) def __str__(self): return self.name class Teacher(models.

Django(三) ORM 数据库操作

比较有用 转自 http://blog.csdn.net/fgf00/article/details/53678205 一.DjangoORM 创建基本类型及生成数据库表结构 1.简介 2.创建数据库 表结构 二.Django ORM基本增删改查 1.表数据增删改查 2.表结构修改 三.Django ORM 字段类型 1.字段类型介绍 2.字段参数介绍 3.Django ORM 外键操作 一.DjangoORM 创建基本类型及生成数据库表结构 1.简介 ORM:关系对象映射.定义一个类自动生成数