Django提供了高级的ORM(对象关系映射)层,它抽象了底层数据库的细节,并提供了一组直观且易于使用的数据库操作方法。下面是一些常见的Django数据库语法和操作示例:
- 创建模型类(Model):
from django.db import models
class MyModel(models.Model):
field1 = models.CharField(max_length=100)
field2 = models.IntegerField()
- 数据库迁移(Migration):
# 创建迁移文件
python manage.py makemigrations
# 执行数据库迁移
python manage.py migrate
- 查询数据(Querying):
# 获取所有对象
objects = MyModel.objects.all()
# 获取单个对象
obj = MyModel.objects.get(id=1)
# 条件查询
objects = MyModel.objects.filter(field1='value')
# 排序
objects = MyModel.objects.order_by('field1')
# 聚合查询
count = MyModel.objects.count()
- 插入数据(Insertion):
obj = MyModel(field1='value1', field2=123)
obj.save()
- 更新数据(Update):
obj = MyModel.objects.get(id=1)
obj.field1 = 'new value'
obj.save()
- 删除数据(Deletion):
obj = MyModel.objects.get(id=1)
obj.delete()
# 根据条件删除
MyModel.objects.filter(field1='value').delete()
- 外键关系(Foreign Key):
class RelatedModel(models.Model):
field = models.CharField(max_length=100)
class MyModel(models.Model):
related = models.ForeignKey(RelatedModel, on_delete=models.CASCADE)
以上只是一些常用的Django数据库操作示例。Django的ORM提供了丰富的查询API和数据库操作方法,以满足各种需求。