Skip to content

模型层 ORM

ORM 是 Django 最强大的部分之一。
它让你可以用 Python 的方式操作数据库,而不是一开始就全写 SQL。

模型是什么

模型可以理解成:

  • Python 里的类
  • 数据库里的表

例如:

python
from django.db import models

class Student(models.Model):
    name = models.CharField(max_length=50)
    age = models.IntegerField()
    city = models.CharField(max_length=50)

这个模型就对应数据库里的一张 student 表。

连接数据库

settings.py 中配置数据库连接:

python
DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.mysql",
        "NAME": "study_db",
        "USER": "root",
        "PASSWORD": "123456",
        "HOST": "127.0.0.1",
        "PORT": "3306",
    }
}

数据库迁移

模型写好之后,要同步到数据库:

bash
python manage.py makemigrations
python manage.py migrate

新增数据

python
Student.objects.create(name="小明", age=18, city="北京")

查询数据

python
students = Student.objects.all()
for item in students:
    print(item.name)

条件查询

python
Student.objects.filter(age__gte=18)

修改数据

python
stu = Student.objects.get(id=1)
stu.city = "深圳"
stu.save()

删除数据

python
stu = Student.objects.get(id=1)
stu.delete()

模型关系

随着业务复杂度上升,你会遇到:

  • 一对一
  • 一对多
  • 多对多

ORM 最大的价值之一,就是能帮助你更自然地表达这些关系。

Built with VitePress.