Django ORM的使用

ORM类型

ORM即对象关系映射,是一种基于关系型数据库的技术。运行我们使用类和对象操作数据库,提高了对数据库的控制,避免直接使用SQL操作数据库,适配多种常用的关系型数据库,如:MYSQL,Oracle,Sqlite,PostgreSQL等。
Django把表模型定义为Model,继承django.db.models中的Model类。
数据库中的字段类型,Django ORM都有对应的Field来表述。

  1. AutoFiled 默认自增主键(Primary_key=True),Django默认建立id字段为主键
  2. CharFiled 字符类型 Max_length=32 字符长度需要明确
  3. IntgerFiled 整形int
  4. DateFiled 年月日时间类型 auto_now=True,数据被更新就会更新时间;auto_now_add=True,数据第一次添加时产生。
  5. DateTimeFiled 年月日小时分钟秒 auto_now=True 数据被更新时就会更新;auto_now_add=True,数据第一次产生时过更新
  6. DecimalFiled 混合精度的小数类型 Max_digits=3,限定数字的最大位数,decimal_places=2限制小数的位数
  7. BooleanFiled 布尔类型 对应数据库tinyint类型数据长度只有一位,值为True或False
  8. TextFiled 用于大文本

在Django中定义数据表

定义数据表
用类来定义数据表
例:
from django.db import models
class Userinfo(models.Model):
name = models.CharFiled(max_length=100)
password = models.CharFiled(max_length=100)
定义了数据表Userinfo,表中有两个字段 name和password

ORM的增删改查(CURD)

用类名来操作:

查询表中所有记录

UserInfo.objects.all()

查询表中name含有j的所有记录

UserInfo.objects.filter(name_contains=‘j’)

有且只有一个查询结果,超出或者没有抛异常

UserInfo.objects.get(name='john‘)

删除名字为john的记录

UserInfo.objects.get(name=“john”).delete()

更新数据表中name为Tom

UserInfo.objects.get(name=“john”).update(name=“Tom”)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_44347851

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值