博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django orm的使用
阅读量:6269 次
发布时间:2019-06-22

本文共 1749 字,大约阅读时间需要 5 分钟。

ORM:关系对象映射。定义一个类自动生成数据库的表结构。

ORM分为两种:

DB First 数据库里先创建数据库表结构,根据表结构生成类,根据类操作数据库

Code First 先写代码,执行代码创建数据库表结构
主流的orm都是code first。django 的orm也是code first,所以学的时候,本质就分为两块:

根据类自动创建数据库表

根据类对数据库表中的数据进行各种操作

一、Django连接MySQL

1、使用orm之前必须先创建数据库

create database cmdb_kk2 default charset utf8;

2、修改project中的settings.py文件中设置 连接 MySQL数据库(Django默认使用的是sqllite数据库)

DATABASES = {    'default': {        'ENGINE': 'django.db.backends.mysql',        'NAME': 'cmdb_kk2',        'HOST': '192.168.1.48',        'PORT': 3306,        'USER': 'root',        'PASSWORD': '123456',        'CHARSET': 'utf8',        'OPTIONS': {            'init_command': "SET sql_mode='STRICT_TRANS_TABLES'"        }    }}

python manage.py makemigrations #根据app下的migrations目录中的记录,检测当前model层代码是否发生变化?如果新增或者修改一个字段就会有变化

python manage.py sqlmigrate user 0001 #查看生成的sql

python manage.py migrate #针对所有的app 把orm代码转换成sql语句去数据库执行
python manage.py migrate user #只对user 这个app_name 更新sql到数据库

Django orm的使用

Django orm的使用

执行:python manage.py migrate 后默认表名:appname_classname。user_user

连接操作使用:

python manage.py shell

from django.db import models

from user.models import User
User.objects.all()
<QuerySet [<User: User object (1)>]>

增加:

from datetime import datetime

datetime.now():当前时间
User.objects.create(name="kk2",password="123",create_time=datetime.now())
<User: User object (4)>

删除(id=4):

User.objects.filter(id=4).delete()

(1, {'user.User': 1})

.>>> User.objects.all().delete() #删除所有的

更新,密码都改为8888

User.objects.all().update(password=8888)

3

User..objects.filter(id=3).update(password=888888)

#实例化对象,新增数据

user=User()

user
<User: User object (None)>
user.name='kk'
user.name='python'
user.age='123'
user.passwod='123'
user.create_time=datetime.now()
user.tel='123'
user.save() #save后就会保存到数据库中

转载于:https://blog.51cto.com/jacksoner/2132449

你可能感兴趣的文章
程序员的罪与罚
查看>>
SQL*LOADER错误总结
查看>>
SQL日志收缩
查看>>
【转】MySQL Query Cache 小结
查看>>
SVN分支和合并的简单例子
查看>>
PHP实现的封装验证码类
查看>>
Augular初探
查看>>
PHPStorm下XDebug配置
查看>>
【LeetCode】55. Jump Game
查看>>
Android应用盈利广告平台的嵌入方法详解
查看>>
Linux(CentOS6.5) 开放端口,配置防火墙
查看>>
Func与Action
查看>>
Android ViewPager 应该及技巧
查看>>
ODI KM二次开发手册
查看>>
iOS通讯录整合,兼容iOS789写法,附demo
查看>>
如何将内核静态库编译连接到驱动程序中去【转】
查看>>
GNU KHATA——开源的会计管理软件
查看>>
BEGINNING SHAREPOINT&#174; 2013 DEVELOPMENT 第3章节--SharePoint 2013 开发者工具 用SPD开发SharePoint应用程序...
查看>>
Java读取文件加锁代码Demo(利用Java的NIO)
查看>>
ES6 中 Symbol.split的用法
查看>>