Django 是 Python 编程语言驱动的一个开源模型-视图-控制器(MVC)风格的 Web 应用程序框架。使用 Django,我们在几分钟之内就可以创建高品质、易维护、数据库驱动的应用程序。接下来记录一下怎么在Django中使用数据库:
创建多对多关系
- 方式一
from django.db import models
class Class5(models.Model):
name = models.CharField(max_length=32)
class Class3(models.Model):
name = models.CharField(max_length=32)
class Computer(models.Model):
c5 = models.ForeignKey("Class5")
c3 = models.ForeignKey("Class3")
- 方式二
from django.db import models
class Class5(models.Model):
name = models.CharField(max_length=32)
class Class3(models.Model):
name = models.CharField(max_length=32)
c5 = models.ManyToManyField("Class5")
多对多关系增加数据
以方式二为例
from django.db import models
# 先获取Class3表数据
obj = models.Class3.objects.filter(name="xxxx").first()
# 添加关系,与Class5中id为1的关联
obj.c5.add(1)
# obj.c5.add(1,2,3) # 添加多个关系
# obj.c5.add(*[1,2,3]) # 添加多个关系
多对多关系查询数据
from django.db import models
# 先获取Class3表数据
obj = models.Class3.objects.filter(name="xxxx").first()
# 获取所有与当前数据关联的Class5数据
obj.c5.all()
多对多关系更新
from django.db import models
# 先获取Class3表数据
obj = models.Class3.objects.filter(name="xxxx").first()
# 更新数据
obj.set([1,2,3])
多对多关系删除
from django.db import models
# 先获取Class3表数据
obj = models.Class3.objects.filter(name="xxxx").first()
# 删除单条数据
obj.c5.remove(1)
# 删除多条数据
obj.c5.remove(1,2,3) # 或者:obj.c5.remove(*[1,2,3])
# 删除所有与当前数据关联的数据
obj.c5.clear()