django之orm详解

Posted ghostant

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django之orm详解相关的知识,希望对你有一定的参考价值。

django中内置了orm,可以让我们非常便捷的操作数据库。

在看本文前,请确保已经对django项目做了正确的配置。

1.在app01下的models.py中新建类

from django.db import models


# Create your models here.


class User(models.Model):
    # int id primary key auto_increment 
    id = models.AutoField(primary_key=True)
    # varchar username(255)
    username = models.CharField(max_length=255)
    password = models.CharField(max_length=255)

# 还有许多其他字段

2.使用django自带的数据库迁移命令

python manage.py makemigrations
python manage.py migrate

注意:当我们对models中修改有关数据库的操作,都应该执行上面两条命令。保证数据库与我们django项目文件的一致性。

执行完后可以看到我们的数据库中已经生成相对应的表。

3.常用方法

# 可在views.py视图函数下使用User类

# 新增一条记录并返回记录对象
user_obj = User.objects.create(username='yyh',password='123')
# 或者
user_obj = User(username='yyh',password='123')
user_obj.save()


# 查 
user_obj_list = User.objects.filter(username='yyh')
# filter方法返回一个对象列表
user_obj = user_obj_list.first()
user_obj = user_obj_list=[0]
# 返回表中所有记录
user_obj_list = User.objects.all()

# 改
user_obj = User.objects.filter(username='yyh').first()
user_obj.username='yyh123'
user_obj.save() # 根据主键 update

# 删
user_obj = User.objects.filter(username='yyh').first()
user_Obj.delete()
# 或者删除全部
User.objects.filter().delete()
User.objects.all().delete()

以上是关于django之orm详解的主要内容,如果未能解决你的问题,请参考以下文章

075: Django数据库ORM聚合函数详解-Sum

django_ORM用法详解

067:Django数据库ORM查询条件详解-range

Django之ORM

071:Django数据库ORM聚合函数详解-Avg

Django之ORM操作