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个字段,分别是name
、age
、gender
和grade
。
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()
在上述代码中,我们创建了一个名为s
的Student
对象,并给出了该对象的4个属性值,然后使用save()
方法将数据保存到数据库中。
3.2. 修改数据
如果需要修改数据库中的数据,我们可以通过以下代码进行修改:
s = Student.objects.get(name='Tom')
s.age = 19
s.save()
在上述代码中,我们先使用get()
方法获取到数据库中名为Tom
的Student
对象,然后将该对象的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()
方法获取到数据库中名为Tom
的Student
对象,然后使用delete()
方法将该对象从数据库中删除。
总结
通过本文的介绍,相信读者已经对Django ORM的基础知识有了一定的了解。在实际项目中,Django ORM的应用场景非常广泛,并且非常易学易用,值得大家深入学习和应用。