实战Django中的ORM数据库操作:从增删改查说起

作者:沙与沫2024.01.17 20:13浏览量:12

简介:通过实际操作,了解Django中ORM(对象关系映射)如何进行数据库的增删改查。本文将通过实例演示如何使用Django ORM进行数据库操作,帮助你更好地理解和应用Django框架。

在Django中,ORM是一种将数据库表映射到Python对象的技术。通过ORM,我们可以使用Python代码来操作数据库,而无需直接编写SQL语句。下面我们将通过实例演示如何在Django中使用ORM进行数据库的增删改查操作。
一、创建模型
首先,我们需要创建一个模型来表示数据库中的表。在Django中,模型通常定义在app的models.py文件中。

  1. from django.db import models
  2. class Blog(models.Model):
  3. name = models.CharField(max_length=100)
  4. tagline = models.TextField()

上述代码定义了一个名为Blog的模型,包含两个字段:nametagline
二、数据库迁移
创建模型后,我们需要执行数据库迁移来创建相应的数据库表。

  1. python manage.py makemigrations myapp
  2. python manage.py migrate

执行上述命令后,Django会自动为我们生成并执行相应的SQL语句,创建Blog表。
三、数据增加(增)
接下来,我们将展示如何使用ORM进行数据增加操作。

  1. from myapp.models import Blog
  2. # 创建一个新的Blog对象并保存到数据库中
  3. blog = Blog(name='My Blog', tagline='Best blog ever')
  4. blog.save()

上述代码创建了一个新的Blog对象,并调用save()方法将其保存到数据库中。
四、数据查询(查)
接下来,我们将展示如何使用ORM进行数据查询操作。

  1. # 查询所有Blog对象
  2. blogs = Blog.objects.all()
  3. for blog in blogs:
  4. print(blog.name, blog.tagline)

上述代码使用all()方法查询所有Blog对象,并遍历输出每个对象的nametagline字段。
五、数据修改(改)
接下来,我们将展示如何使用ORM进行数据修改操作。

  1. # 修改第一个Blog对象的tagline字段
  2. blog = Blog.objects.first()
  3. blog.tagline = 'New tagline'
  4. blog.save()

上述代码使用first()方法获取第一个Blog对象,然后修改其tagline字段,并调用save()方法将修改保存到数据库中。
六、数据删除(删)
最后,我们将展示如何使用ORM进行数据删除操作。

  1. # 删除第一个Blog对象
  2. blog = Blog.objects.first()
  3. blog.delete()

上述代码使用first()方法获取第一个Blog对象,然后调用delete()方法将其从数据库中删除。请注意,这不会触发任何数据库级的事务回滚或级联删除操作。如果你需要执行级联删除或事务回滚等操作,请查阅Django文档中的相关内容。