django的ORM
Posted q767498226
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django的ORM相关的知识,希望对你有一定的参考价值。
一.在models.py创建模型
class Book(models.Model): # 表名就是app名_类名 id = models.AtuoField(primary_key=Ture)
1. 字段
CharField(max_length=32) 字符串字段,最大32个字符
IntegerField() 整数
FloatField(max_digits=8,decimal_places=2) 浮点数总长8位,小数占两位
AtuoField(primary_key=Ture) 自增字段,并设置为主键
BooleanField() 布尔值字段
DateField(atuo_now_add) 日期字段,atuo_now_add是首次创建的时间
DateFiled(atuo_now) 日期时间字段,atuo_now是每次更新的时间
2. 参数
null 如果为ture,将用NULL来储存
blank 如果为ture,该字段不能为空
default 字段的默认值,可以是一个值或者可调用对象
primary_key 设置主键
unique 如果为ture,该字段的值就是唯一的
atuo_now 每次更新数据的时间
atuo_now_add 首次创建数据的时间
二. settings配置
1. mysql引擎的配置
# mysql的配置 DATABASES = { ‘default‘: { ‘ENGINE‘: ‘django.db.backends.mysql‘, ‘USER‘: "root", # 连接数据库的用户名 ‘PASSWORD‘: "mysql123", # 连接数据库的密码 ‘NAME‘: "lms", # 连接的数据库库名 ‘HOST‘: "127.0.0.1", # 连接主机 ‘PORT‘: 3306, # 端口 } } INSTALLED_APPS = [ ‘app01.apps.App01Config‘, #第一种写法 ‘app01‘ # 第二种写法 ]
2. 导入MySQLdb模块
import pymsql pymysql.install_as_mysqldb()
3. 两条数据库迁移指令
python manage.py makemigrations 生成记录文件
python manage.py migrate 创建表,生成表名为 app名_类名(创建模型时的类)
三. ORM的增删改查
先导入表 from app import models
models.类名.objects 获取到表对象
1. 增
①models.类名.objects.create(字段) # 推荐
②obj = models.类名(字段)
obj.save()
2. 删
models.类名.objects.filter(id=1).delete() 删除id=1 的那条数据
3. 改
models.类名.objects.filter(id=1).update(字段) 更改id=1的那条数据
4. 查
models.类名.objects.all() 返回一个装有对象的列表
以上是关于django的ORM的主要内容,如果未能解决你的问题,请参考以下文章