Django ORM(Object-Relational Mapping,对象关系映射)是Django框架中用于操作数据库的一种高级抽象方法。它允许开发者使用Python类和对象来表示数据库中的表和记录,而不是直接编写SQL语句。这样可以提高代码的可读性和可维护性。
以下是使用Django ORM进行数据库操作的一些基本步骤:
models.py文件中定义模型类,每个类对应数据库中的一个表。类属性表示表的字段,类型为Field的子类。from django.db import models
class User(models.Model):
username = models.CharField(max_length=100)
email = models.EmailField()
age = models.IntegerField()
迁移(Migration):运行python manage.py makemigrations和python manage.py migrate命令,根据模型定义创建或更新数据库表结构。
创建对象(Create):使用模型类的构造函数创建新的记录对象,并调用save()方法将其保存到数据库。
user = User(username='张三', email='zhangsan@example.com', age=25)
user.save()
objects属性提供的方法查询数据库记录。# 获取所有用户
users = User.objects.all()
# 根据条件筛选用户
filtered_users = User.objects.filter(age__gte=18)
# 获取单个用户(如果不存在会抛出异常)
user = User.objects.get(username='张三')
# 排序
sorted_users = User.objects.order_by('age')
save()方法将更改保存到数据库。user.age = 26
user.save()
delete()方法删除查询到的对象。user.delete()
aggregate()和annotate()方法进行数据聚合操作,如计算总数、平均值等。from django.db.models import Count, Avg
# 计算用户总数
total_users = User.objects.count()
# 计算用户平均年龄
average_age = User.objects.aggregate(Avg('age'))
这些是Django ORM的基本操作,更多高级功能和用法可以参考Django官方文档:https://docs.djangoproject.com/en/3.2/topics/db/queries/
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。