执行更新
插入
save方法
u = Person(name='user1',age='22',birthday=datetime(2000,1,1)) u.save()
create方法
u = Person.objects.create(name = 'user2',age='21',birthday=datetime(2001,1,1))
在Django中向数据库中插入多条数据时,每使用一次save或create方法保存一条就会执行一次SQL。而Django提供的bulk_create方法可以一次SQL添加多条数据,效率要高很多,如下所示:
内存生成多个对象实例
user = [Person(name='user3',age='1',birthday=datetime(2021,1,1)), Person(name='user4',age='2',birthday=datetime(2020,3,28)), Person(name='user5',age='3',birthday=datetime(2019,2,26))]
执行一次SQL插入数据
Person.objects.bulk_create(user)
为了避免重复创建数据表中已存在的条目,Django还提供了get_or_create方法。它会返回查询到的或新建的模型对象实例,还会返回这个对象实例是否是刚刚创建的。
obj, created = Person.objects.get_or_create(name = '用户6', age='32',birthday=datetime(1990,1,1))
更新
调用save()函数更新
obj = Person.objects.first() obj.name = 'user7' obj.save()
使用模型类.objects.filter().update(),会返回受影响的行数
num = Person.objects.filter(birthday=date(2019,2,26).update(age='4') print(num)
删除
obj = Person.objects.filter(id=1)
print(obj)
obj.delete()