VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

执行更新

插入

  • 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()