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官方文檔來深入了解。