当前位置:实例文章 » 其他实例» [文章]第二章(二):Django框架Model之ORM操作数据库:增、删、改、查

第二章(二):Django框架Model之ORM操作数据库:增、删、改、查

发布人:shili8 发布时间:2024-11-08 04:12 阅读次数:0

**第二章 (二):Django 框架 Model 之 ORM 操作数据库**

在 Django 框架中,Model 是一个非常重要的组成部分,它们负责与数据库进行交互。ORM(Object-Relational Mapping)是 Django 提供的一种操作数据库的方式,使得我们可以使用 Python代码来操作数据库,而不需要直接写 SQL语句。

在本章,我们将学习如何使用 Django 的 ORM 操作数据库,包括增、删、改、查四个基本操作。

###2.1 Model 定义首先,我们需要定义一个 Model。Model 是一个 Python 类,它继承自 `django.db.models.Model`。我们可以在这个类中定义一些属性,这些属性将与数据库中的表格对应。

例如,我们可以定义一个 `Book` 模型,如下所示:

# models.pyfrom django.db import modelsclass Book(models.Model):
 title = models.CharField(max_length=100)
 author = models.CharField(max_length=50)
 publish_date = models.DateField()

在这个例子中,我们定义了一个 `Book` 模型,它有三个属性:`title`、`author` 和 `publish_date`。这些属性将与数据库中的表格对应。

###2.2 增 (Create)

增是指向数据库添加新数据的操作。在 Django 中,我们可以使用 `save()` 方法来实现这一点。

例如,我们可以在视图函数中创建一个新的 `Book` 实例,并保存到数据库中,如下所示:
# views.pyfrom django.shortcuts import renderfrom .models import Bookdef create_book(request):
 book = Book(title='Python Programming', author='John Doe', publish_date='2022-01-01')
 book.save()
 return render(request, 'success.html')

在这个例子中,我们创建了一个新的 `Book` 实例,并使用 `save()` 方法将其保存到数据库中。

###2.3 删 (Delete)

删是指向数据库删除数据的操作。在 Django 中,我们可以使用 `delete()` 方法来实现这一点。

例如,我们可以在视图函数中删除一个 `Book` 实例,如下所示:
# views.pyfrom django.shortcuts import renderfrom .models import Bookdef delete_book(request):
 book = Book.objects.get(id=1)
 book.delete()
 return render(request, 'success.html')

在这个例子中,我们使用 `get()` 方法获取一个 `Book` 实例,并使用 `delete()` 方法将其从数据库中删除。

###2.4 改 (Update)

改是指向数据库更新数据的操作。在 Django 中,我们可以使用 `save()` 方法来实现这一点。

例如,我们可以在视图函数中更新一个 `Book` 实例,如下所示:
# views.pyfrom django.shortcuts import renderfrom .models import Bookdef update_book(request):
 book = Book.objects.get(id=1)
 book.title = 'Python Programming2'
 book.save()
 return render(request, 'success.html')

在这个例子中,我们使用 `get()` 方法获取一个 `Book` 实例,并更新其属性。然后我们使用 `save()` 方法将其保存到数据库中。

###2.5 查 (Retrieve)

查是指向数据库查询数据的操作。在 Django 中,我们可以使用 `filter()` 和 `get()` 方法来实现这一点。

例如,我们可以在视图函数中获取一个 `Book` 实例,如下所示:
# views.pyfrom django.shortcuts import renderfrom .models import Bookdef get_book(request):
 book = Book.objects.get(id=1)
 return render(request, 'book.html', {'book': book})

在这个例子中,我们使用 `get()` 方法获取一个 `Book` 实例,并将其传递给模板。

###2.6 ORM 操作数据库在 Django 中,ORM 是一种操作数据库的方式,使得我们可以使用 Python代码来操作数据库,而不需要直接写 SQL语句。我们可以使用以下方法来实现这一点:

* `save()` 方法:用于保存数据到数据库中。
* `delete()` 方法:用于删除数据从数据库中。
* `filter()` 方法:用于过滤数据。
* `get()` 方法:用于获取一个具体的数据。

例如,我们可以使用以下代码来实现这一点:
# views.pyfrom django.shortcuts import renderfrom .models import Bookdef create_book(request):
 book = Book(title='Python Programming', author='John Doe', publish_date='2022-01-01')
 book.save()
 return render(request, 'success.html')

def delete_book(request):
 book = Book.objects.get(id=1)
 book.delete()
 return render(request, 'success.html')

def update_book(request):
 book = Book.objects.get(id=1)
 book.title = 'Python Programming2'
 book.save()
 return render(request, 'success.html')

def get_book(request):
 book = Book.objects.get(id=1)
 return render(request, 'book.html', {'book': book})

在这个例子中,我们使用 `save()` 方法创建一个新的 `Book` 实例,并保存到数据库中。我们使用 `delete()` 方法删除一个 `Book` 实例,从数据库中。我们使用 `update()` 方法更新一个 `Book` 实例,并保存到数据库中。最后,我们使用 `get()` 方法获取一个 `Book` 实例,并传递给模板。

###2.7 总结在本章,我们学习了如何使用 Django 的 ORM 操作数据库,包括增、删、改、查四个基本操作。我们了解了如何定义 Model,如何使用 `save()` 方法保存数据到数据库中,如何使用 `delete()` 方法删除数据从数据库中,如何使用 `filter()` 和 `get()` 方法过滤和获取数据。

我们还学习了如何使用 ORM 操作数据库,包括使用 `save()` 方法保存数据到数据库中,使用 `delete()` 方法删除数据从数据库中,使用 `filter()` 和 `get()` 方法过滤和获取数据。

相关标签:oraclesqlite数据库
其他信息

其他资源

Top