Python - Django - ORM 操作表
ORM 的对应关系:
类 ---> 数据库表
对象 ---> 数据库行
属性 ---> 字段
操作数据库表 ---> 创建/删除/修改表
操作数据库行 ---> 数据的增删改查
首先需要自己手动创建一个数据库

在 mysite 的 settings.py 中找到 DATABASES,并进行相应的配置

配置结果如下
DATABASES = {
'default': {
# 连接的数据库类型
'ENGINE': 'django.db.backends.mysql',
# 数据库的地址
'HOST': '127.0.0.1',
# 端口
'PORT': '3306',
# 数据库名
'NAME': 'Py_Django',
# 用户名
'USER': 'root',
# 密码
'PASSWORD': 'root'
}
}
然后来到 mysite 的 __init__.py 的文件中

MySQLdb 是 py2 下的
创建表:
创建一个表就是要创建一个类
ORM 相关的要在 app 的 models.py 中进行操作
from django.db import models # Create your models here. # 类必须继承 models.Model
class Admin(models.Model):
# 创建一个主键自增的字段
id = models.AutoField(primary_key=True) # AutoField 为自增的字段
# 创建一个 varchar 类型的不能为空的字段
# varchar 类型需要指定最大长度
username = models.CharField(null=False, max_length=20)
password = models.CharField(null=False, max_length=20)
然后运行两条命令
python manage.py makemigrations # 把 models.py 中的改动记录到 app01/migrations 文件夹下
python manage.py migrate # 把改动翻译成 SQL 语句并执行
执行完后看一下表

看一下 app01_admin 的表结构

删除表:
将 models.py 中写的类注释掉

然后执行那两条命令即可


show tables 就看不到 admin 表了

修改表:
在类中进行修改,然后执行上面两条命令就能进行修改
Python - Django - ORM 操作表的更多相关文章
- django orm 操作表
django orm 操作表 1.基本操作 增 models.Tb1.objects.create(c1='xx', c2='oo') 增加一条数据,可以接受字典类型数据 **kwargs inser ...
- Python - Django - ORM 多对多表结构的三种方式
多对多的三种方式: ORM 自动创建第三张表 自己创建第三张表, 利用外键分别关联作者和书,关联查询比较麻烦,因为没办法使用 ORM 提供的便利方法 自己创建第三张表,使用 ORM 的 ManyToM ...
- Python - Django - ORM 查询方法
models.py: from django.db import models class Human(models.Model): id = models.AutoField(primary_key ...
- python django ORM
1.在models.py中创创建类 # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db imp ...
- Python - Django - ORM 实例
准备工作: 首先创建一个名为 Py_Django 的数据库 新建项目,名为 mysite0 创建完成后需要进行几项配置 mysite0/settings.py 下 首先是 html 文件相关 其次是数 ...
- Python Django ORM 字段类型、参数、外键操作
AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary ...
- Python Django ORM基本增删改查
工程下的urls.py中增加如下: from cmdb import views as cmdb #要把你要操作的项目import进来 urlpatterns = [ url(r'orm', cmdb ...
- Python Django ORM创建基本类以及生成数据结构
#在项目目录下的modules.py中创建一个类,来自动生成一张表UserInfo class UserInfo(models.Model): username = models.CharField( ...
- python - django (ORM使用步骤)
print('asd') """ # 1. 手动创建一个数据库 # 2. 在 Django 项目中设置连接数据库的相关配置(告诉Django 连接哪一个数据库) 在 DA ...
随机推荐
- [LeetCode&Python] Problem 868. Binary Gap
Given a positive integer N, find and return the longest distance between two consecutive 1's in the ...
- (7)random(随机模块)
import random print(random.random()) #得到一个随机的数,但是随机的数的范围是(0,1),这里用小括号(开曲线)代表取不到0也取不到1,o-1之间只有小数,所以只能 ...
- CTF之MD5
MD5是一种常见的加密方式,但准确来说,它只是一种编码方式,它将任意有限长度的字符串通过哈希函数转换为特定长度的字符串. MD5编码具有单向性,即由明文变密文简单,由密文变明文困难. 破解时只能通过暴 ...
- Spring学习--静态工厂方法、实例工厂方法创建 Bean
通过调用静态工厂方法创建 bean: 调用静态工厂方法创建 bean 是将对象创建的过程封装到静态方法中 , 当客户端需要对象时 , 只需要简单地调用静态方法 , 而不需要关心创建对象的细节. 要声明 ...
- dockercompose up build fail
docker https://auth.docker.io/token dial tcp lookup auth.docker.io i/o timeo Error response from dae ...
- RAC8——scan ip的理解
SCAN概念 先介绍一下什么叫SCAN,SCAN(Single Client Access Name)是Oracle从11g R2开始推出的,客户端可以通过SCAN特性负载均衡地连接到RAC数据库.S ...
- JUC线程池之 Callable和Future
Callable 和 Future 简介 Callable 和 Future 是比较有趣的一对组合.当我们需要获取线程的执行结果时,就需要用到它们.Callable用于产生结果,Future用于获取结 ...
- Eclipse设置相同变量背景色高亮显示
在Eclipse中,鼠标选中或者光标移动到java类的变量名时,相同变量会被标识显示(设置背景色高亮), 并且侧边滚动条会标出变量的位置, 查找变量十分方便. 1.相同变量标识高亮显示: Window ...
- 【Oracle学习笔记-1】Win7下安装Oracle 10g
源程序获取 从Oracle的官网上下载Oracle 10g: 10203_vista_w2k8_x86_production_db.zip:==>服务器(必须) 10203_vista_w2k8 ...
- java获取随机密码
import java.util.Random; public class tests { /** * * author LiuQiang * date 2013-10-14 下午01:13:54 * ...