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 操作表的更多相关文章

  1. django orm 操作表

    django orm 操作表 1.基本操作 增 models.Tb1.objects.create(c1='xx', c2='oo') 增加一条数据,可以接受字典类型数据 **kwargs inser ...

  2. Python - Django - ORM 多对多表结构的三种方式

    多对多的三种方式: ORM 自动创建第三张表 自己创建第三张表, 利用外键分别关联作者和书,关联查询比较麻烦,因为没办法使用 ORM 提供的便利方法 自己创建第三张表,使用 ORM 的 ManyToM ...

  3. Python - Django - ORM 查询方法

    models.py: from django.db import models class Human(models.Model): id = models.AutoField(primary_key ...

  4. python django ORM

    1.在models.py中创创建类 # -*- coding: utf-8 -*- from __future__ import unicode_literals from django.db imp ...

  5. Python - Django - ORM 实例

    准备工作: 首先创建一个名为 Py_Django 的数据库 新建项目,名为 mysite0 创建完成后需要进行几项配置 mysite0/settings.py 下 首先是 html 文件相关 其次是数 ...

  6. Python Django ORM 字段类型、参数、外键操作

    AutoField(Field) - int自增列,必须填入参数 primary_key=True BigAutoField(AutoField) - bigint自增列,必须填入参数 primary ...

  7. Python Django ORM基本增删改查

    工程下的urls.py中增加如下: from cmdb import views as cmdb #要把你要操作的项目import进来 urlpatterns = [ url(r'orm', cmdb ...

  8. Python Django ORM创建基本类以及生成数据结构

    #在项目目录下的modules.py中创建一个类,来自动生成一张表UserInfo class UserInfo(models.Model): username = models.CharField( ...

  9. python - django (ORM使用步骤)

    print('asd') """ # 1. 手动创建一个数据库 # 2. 在 Django 项目中设置连接数据库的相关配置(告诉Django 连接哪一个数据库) 在 DA ...

随机推荐

  1. IPM

    #if 0 void xyp2ipmp(cv::Mat& xyp, cv::Mat& ipmp, cv::Mat& xylim, Size& sz){ //xylimi ...

  2. [LeetCode&Python] Problem 811. Subdomain Visit Count

    A website domain like "discuss.leetcode.com" consists of various subdomains. At the top le ...

  3. 微信小程序开发过程中出现问题及解答

    1.wx.uploadFile上传图片,控制台抛出错误"uploadFile:fail Error:Hostname/IP doesn't match certificate's altna ...

  4. vue组件独享守卫钩子函数参数详解(beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave)

    一样的和前面路由钩子类似的步骤 首先在demo下面的components下面新建一个test.vue组件 test组件代码 <template> <div class="t ...

  5. day 2Linux软件从主机安装到服务器和安装JDK软件

    软件安装 1.如何上传安装包到服务器**可以使用图形化工具,如: filezilla**可以使用sftp工具: alt+p 调出后,用put命令上传上传(如果不cd指定目录,则上传到当前用户的主目录) ...

  6. WPF中使用BitmapImage处理图片文件(转)

    (1)图片从文件导入 BitmapImage image = new BitmapImage(); image.BeginInit(); image.UriSource = new Uri(filen ...

  7. day33 python学习 多线程

    线程的概念 进程只是用来把资源集中到一起(进程只是一个资源单位,或者说资源集合),而线程才是cpu上的执行单位. 三 线程与进程的区别 1 1.线程的创建开销小(无需申请内存空间或者资源),创建线程的 ...

  8. Python函数 dict()

    dict() 作用:dict() 函数用于创建一个字典.返回一个字典. 语法: class dict(**kwarg) class dict(mapping, **kwarg) class dict( ...

  9. Oracle 11gR2 rac 的各项服务说明

       安装结束后,会产生一些后台进程来确保集群正常工作并能够与外部通讯.其中的一些有序linux平台的要求需要以root用户权限来启动.比如,网络配置的改动就需要更高的权限.其他后台进程将以grid软 ...

  10. FineUI 修改config表属性

    此功能可用来设置系统的不同的标题 private void SelectSystem() { ConfigHelper.Title = DropDownList1.SelectedText; Conf ...