更新时间:2023-05-18 来源:黑马程序员 浏览量:

Django的ORM(对象关系映射)是一种将数据库中的数据映射到Python对象中的技术,它使得开发者可以通过使用Python代码来操作数据库,而无需直接编写SQL语句。ORM还提供了一些便捷的功能,例如查询优化、数据验证等。
以下是Django ORM的一些基本用法示例:
from django.db import models class Person(models.Model): name = models.CharField(max_length=50) age = models.IntegerField()
上述代码中,我们定义了一个 Person 类,它继承了django.db.models.Model类,并定义了两个属性name 和age,它们分别对应数据库中的表格中的两个列。
person = Person(name='Alice', age=25) person.save()
我们在以上代码中创建了一个Person对象,并调用了save()方法将它保存到数据库中。
people = Person.objects.all() for person in people: print(person.name, person.age)
我们使用Person.objects.all()方法查询了数据库中的所有Person对象,并遍历了这些对象并打印了它们的属性。
person = Person.objects.get(name='Alice') person.age = 26 person.save()
我们使用Person.objects.get()方法在上述代码中获取了一个名为Alice的Person对象,并将它的年龄属性更新为26,然后调用save()方法将更新保存到数据库中。
person = Person.objects.get(name='Alice') person.age = 26 person.save()
上述代码中,我们使用Person.objects.get()方法获取了一个名为Alice的Person对象,并调用delete()方法将它从数据库中删除。
adults = Person.objects.filter(age__gte=18) for adult in adults: print(adult.name)
我们可以使用Person.objects.filter()方法对数据库进行过滤,只选出年龄大于等于18岁的Person对象,并遍历打印了它们的姓名。
class Book(models.Model): title = models.CharField(max_length=100) author = models.ForeignKey(Person, on_delete=models.CASCADE)
上述代码中,我们定义了一个Book类,它有一个名为author的外键关联到Person模型。
books = Book.objects.filter(author__name='Alice') for book in books: print(book.title)
上述代码中,我们使用Book.objects.filter()方法对数据库进行过滤,选出所有作者名为Alice的Book对象,并遍历打印了它们的标题。
这只是Django ORM的基本用法示例,实际上Django ORM 还有很多高级用法和功能,例如聚合、多对多关系、多级关联查询等。
毕业16个工作日,平均薪资13180元,就业率100%,广州黑马AI智能应用开发(Java)学科20250529班
2026-03-06毕业32个工作日,平均薪资11147元,就业率95%,广州黑马AI智能应用开发(Java)学科20250326班
2026-03-05黑马程序员2025全国就业数据发布:全学科平均就业率92.07%,AI开发类就业平均薪资达11869.67元。
2026-03-05黑马全国校区齐开班!场面太太太壮观了!
2026-03-03AI智能应用开发课程紧贴企业刚需,全程高效学习,直达中高级软件开发水平
2026-02-28风口正劲!黑马程序员又一AI智能应用开发班毕业当天100%就业!
2026-02-27