Django中的ORM(Object-Relational Mapping)是一个用于操作数据库的框架,它提供了一种以面向对象的方式来管理数据库的方法,而不是直接使用SQL语句。
使用Django的ORM框架,你可以通过定义模型类来描述数据库中的表结构,然后通过操作这些模型对象来实现对数据库的增删改查操作。以下是Django中ORM框架的用法:
django.db.models.Model
的类来定义模型。类的属性通常会对应数据库表的字段。from django.db import models
class User(models.Model):
name = models.CharField(max_length=100)
age = models.IntegerField()
$ python manage.py makemigrations # 生成迁移文件
$ python manage.py migrate # 执行迁移
# 创建对象
user = User(name="Alice", age=25)
user.save()
# 查询对象
users = User.objects.all()
user = User.objects.get(name="Alice")
# 更新对象
user.name = "Bob"
user.save()
# 删除对象
user.delete()
# 等值查询
users = User.objects.filter(age=25)
# 模糊查询
users = User.objects.filter(name__contains="ob")
# 范围查询
users = User.objects.filter(age__gt=20, age__lt=30)
# 排序
users = User.objects.order_by("-age")
# 限制查询结果数量
users = User.objects.all()[:10]
class Article(models.Model):
title = models.CharField(max_length=100)
author = models.ForeignKey(User, on_delete=models.CASCADE)
# 查询某个作者的所有文章
articles = Article.objects.filter(author=user)
# 查询某篇文章的作者
author = article.author
# 创建关联对象
article = Article(title="Title", author=user)
article.save()
通过以上简单的介绍,你可以开始使用Django的ORM框架来进行数据库操作了。当然,Django的ORM框架还有更多高级用法和特性,比如聚合、联表查询等,你可以参考Django官方文档来深入了解。