Django数据库交互
当我们开始一个新的应用的时候
django-admin.py startapp app01
接下来的两个步骤如果已经设置好了mysql就可以忽略直接进入正题
1.在 settings.py 中找到 INSTALLED_APPS 这一项,添加上自己应用的名字
INSTALLED_APPS = ('app01', # 添加此项
)
2.# 在与 settings.py 同级目录下的 init.py 中引入模块和进行配置
import pymysql
pymysql.version_info = (1, 4, 0, "final", 0)
pymysql.install_as_MySQLdb()
创建模型
在生成的app01的文件内找到models.py这个文件添加自己的表
class Book(models.Model):id = models.AutoField(primary_key=True) # id 会自动创建,可以手动写入title = models.CharField(max_length=32) # 书籍名称price = models.DecimalField(max_digits=5, decimal_places=2) # 书籍价格publish = models.CharField(max_length=32) # 出版社名称pub_date = models.DateField() # 出版时间
在终端运行
$ python3 manage.py migrate # 创建表结构
$ python3 manage.py makemigrations app01 # 让 Django 知道我们在我们的模型有一些变更
$ python3 manage.py migrate app01 # 创建表结构
个人踩坑
当时数据库在设置的时候选择错误,但是已经在终端运行了创建表结构的语句,出现了django.db.utils.InternalError: (1051, “Unknown table‘xxx’’”)的错误
这里可以完美解决
数据库操作
规则交互
在app01/views.py: 文件代码:
from django.contrib import admin
from django.urls import path
from . import viewsurlpatterns = [path('add_book/', views.add_book),
]
添加方法
app01/views.py: 文件代码:
class Book(models.Model):from app01 import models
# Create your views here.def add_book(request):books = models.Book.objects.create(title="如来神掌",price=200,publish="功夫出版社",pub_date="2010-10-10") print(books, type(books)) # Book object (18) return HttpResponse("<p>数据添加成功!</p>")
个人踩坑
如果是新打开的应用,会提示Class "xxx" has no 'objects' member的报错提醒
完美解决
数据库对表的变更操作
最简单的是使用mysqlbench进行操作了,但是要记得进行同步,
我对我的一张表进行操作
python3 manage.py makemigrations cookie
进行变更
1是对这个进行变更
python3 manage.py migrate
Django数据库交互相关推荐
- django 数据库交互2
打开django shell python manage.py shell 输入命令 >>> from myapp import * >>> MySite.obje ...
- 【转】Django 数据库的操作
2019独角兽企业重金招聘Python工程师标准>>> Django 紧紧地遵循这种 MVC 模式,可以称得上是一种 MVC 框架.以下是 Django 中 M.V 和 C 各自的含 ...
- Django-- (三) Django数据库操作
1.Django数据库 Django 非常适合构建数据库驱动型网站,它提供了简单而强大的工具(ORM),易于使用 Python 执行数据库查询. 2.ORM介绍 Object Relational M ...
- Java豆瓣电影爬虫——减少与数据库交互实现批量插入
节前一个误操作把mysql中record表和movie表都清空了,显然我是没有做什么mysql备份的.所以,索性我把所有的表数据都清空的,一夜回到解放前-- 项目地址:https://github.c ...
- shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)
shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)Shell脚本与MySQL数据库交互(增删改查)# 环境准备:安装mariadb 数据库 [root ...
- 帆软报表调用mysql存储过程_FineReport单行与数据库交互的方法
FineReport单行与数据库交互的方法 1. 问题描述 我们在做一张报表填报的时候经常会遇到需要在一行进行添加动作,将该行数据直接与数据库交互,执行存储过程过程.我们可以通过每一行增加帆软&q ...
- 竞赛报名 | AI时代数据库交互怎么玩?首届中文NL2SQL挑战赛开战
也许用不了多久,人们就会看到全新的数据库交互方式. 不一定是专业的SQL语言开发者,也不用局限于传统的条件筛选,交互很简单,说说话,就可以随心所欲的调用所需数据,甚至完成更复杂的"逻辑&qu ...
- Django从理论到实战(part31)--Django数据库查询操作
学习笔记,仅供参考 参考自:Django打造大型企业官网–Huang Y: Django数据库查询操作 查找是数据库操作中一个非常重要的技术,查询一般就是使用filter.exclude以及get三个 ...
- FineReport单行与数据库交互的方法
1. 问题描述 我们在做一张报表填报的时候经常会遇到需要在一行进行添加动作,将该行数据直接与数据库交互,执行存储过程过程.我们可以通过每一行增加帆软"插入"按钮实现插入动作,并 ...
最新文章
- 10.1引用数据类型的转换
- 转:图解C#的值类型,引用类型,栈,堆,ref,out
- IntelliJ IDEA 推荐设置讲解
- 用 Identity Server 4 (JWKS 端点和 RS256 算法) 来保护 Python web api
- 【黑客帝国数字雨屏保】基于Win32的黑客帝国数字雨屏幕保护程序(附VS工程代码文件和可执行文件)
- dj鲜生-17-改造激活用户的代码-解决安全隐患
- Thrift实现C#调用Java开发步骤详解
- ROS入门(八) make_plan的Server连接
- Python+selenium+eclipse执行web自动化(四)控件处理
- [每日一氵] Harris代码
- ode45 matlab 出错,Matlab中ode45求解出错
- java构建树状结构工具类
- Gentoo Linux KDE 下使用IBUS的问题
- 服务端返回中文乱码的分析和解决办法
- 陌上人如玉,公子世无双
- 【D3D11游戏编程】学习笔记十八:模板缓冲区的使用、镜子的实现
- is not eligible for getting processed by all BeanPostProcessors
- 并查集(究竟有几个祖先?)
- MacOS安装Homebrew与Oh-My-Zsh
- Linux系统离线安装包及其依赖的下载安装
热门文章
- hive 插入数据映射到hbase_年薪50万都难招的大数据工程师,凭什么?
- 洛谷 P2371 [国家集训队]墨墨的等式
- 利用FFC软排线为Thinkpad X200s加装mSATA接口的SSD固态硬盘
- 【华为机试真题Java】火星文计算
- 基于反馈的Query改写:你说过的,我才最懂
- mybatis中<choose>标签的用法
- java计算机毕业设计小太阳游乐场管理源码+lw文档+系统+数据库
- 三国志IX反○○连合的条件
- java反射--PropertyDescriptor类:(属性描述器)、Introspector类
- 梅科尔工作室-赵赟-鸿蒙笔记4