模型层 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 最大的价值之一,就是能帮助你更自然地表达这些关系。