Django ORM - 单表实例


Django ORM(Object Relational Mapping)是Django框架中的一个重要组件,它提供了一种使开发人员可以直接使用Python编程语言来操作数据库的方式。在本文中,我们将用一个单表实例来介绍Django ORM的基础知识。

1. 创建模型类

在Django ORM中,我们首先需要定义一个模型类来代表数据库中的表,在这里,我们可以使用Django自带的models模块来创建模型类。例如我们创建一个名为Student的模型类,如下所示:

from django.db import models

class Student(models.Model):
    name = models.CharField(max_length=30)
    age = models.IntegerField()
    gender = models.CharField(max_length=10)
    grade = models.IntegerField()

在上述代码中,我们定义了一个名为Student的模型类,该类继承自models.Model,并包含了4个字段,分别是nameagegendergrade

2. 创建迁移文件并执行

在定义完模型类之后,我们需要创建一个名为migrations的文件夹来存放Django ORM对模型类所做的迁移操作。我们可以使用以下命令创建迁移文件:

python manage.py makemigrations

执行完上述操作之后,我们可以使用以下命令来执行数据库迁移操作:

python manage.py migrate

3. 数据库操作

接下来,我们可以通过Django ORM提供的方法来对数据库进行操作。下面,我们将介绍一些常用的操作方式。

3.1. 添加数据

我们可以使用以下代码向数据库中添加一条数据:

s = Student(name='Tom', age=18, gender='male', grade=1)
s.save()

在上述代码中,我们创建了一个名为sStudent对象,并给出了该对象的4个属性值,然后使用save()方法将数据保存到数据库中。

3.2. 修改数据

如果需要修改数据库中的数据,我们可以通过以下代码进行修改:

s = Student.objects.get(name='Tom')
s.age = 19
s.save()

在上述代码中,我们先使用get()方法获取到数据库中名为TomStudent对象,然后将该对象的age属性值修改为19,最后使用save()方法将修改后的数据保存到数据库中。

3.3. 获取数据

我们可以使用以下代码从数据库中获取数据:

stu_list = Student.objects.filter(gender='male')

在上述代码中,我们使用filter()方法从数据库中获取gender属性为male的所有Student对象,并将这些对象存储到stu_list中。

3.4. 删除数据

我们可以使用以下代码删除数据库中的数据:

s = Student.objects.get(name='Tom')
s.delete()

在上述代码中,我们使用get()方法获取到数据库中名为TomStudent对象,然后使用delete()方法将该对象从数据库中删除。

总结

通过本文的介绍,相信读者已经对Django ORM的基础知识有了一定的了解。在实际项目中,Django ORM的应用场景非常广泛,并且非常易学易用,值得大家深入学习和应用。