django模型ORM笔记

1.添加app设置mysql

在project下的settings.py设置数据库,以及app

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'django', #这是数据库名称需要自己创建
        'HOST': '', #如果是host是本地留空即可
        'PORT': '3306',
        'USER': 'root',
        'PASSWORD': 'lzh3101977'
    }
}
INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'web' #你的app名称
]

2.在app下的models.py开始创建模型

更多的field字段(2.0官方文档),1.8翻译文档

from django.db import models


# Create your models here.

class User(models.Model):
    username = models.CharField(max_length=30)
    password = models.CharField(max_length=100)
    email = models.EmailField(unique=True)
    create_time = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return '<{0} : {1}>'.format(self.__class__.__name__, self.id)

3.数据库初始化迁移工作

python manage.py makemigrations
python manage.py migrate

4.创建对象

创建ORM对象有3种方法

from web.models import User

# 方法 1
User.objects.create(username='用户名')

# 方法2
user = User(username='用户名')
user.password = '密码'
user.save()

# 方法3 首先尝试获取,不存在就创建,可以防止重复,注意返回的是一个元组tuple()
User.objects.get_or_create(username='用户名')
# 返回值(object, True/False)

5.查询
queryset1.8翻译文档,2.0官方文档
从数据库中查询出来的结果一般是一个集合,这个集合叫做 QuerySet

# 查询所有,返回的类型类似一个列表
User.objects.all()

# get是用来获取一个对象,当对象大于2个或者不满足条件会报错
User.objects.get(email='123@qq.com')

# 过滤查询
User.objects.filter(username='lizhouhe') #等同于User.objects.filter(username__exact='lizhouhe')

6.更新

# Model对象可以这样修改,注意first()
user = User.objects.filter(username='lok667').first()
user.username = 'lok666'
user.save()

# queryset对象可以直接用update()进行更新操作
user = User.objects.filter(username='lok666')
user.update(password='lok666')

7.删除

# queryset对象删除
user = User.objects.filter(username='lok666')
user.delete()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值