Django的save()函数用于保存或更新数据库中的对象。其一般用于model层或者form层,操作数据库的方式是更新数据或者创建一份新的数据。下面是save()函数的使用方法的完整攻略。
保存对象
在django中,我们可以通过创建、修改Model对象,进行数据的读取,写入和更新。我们使用的save()方法是其中一种保存修改的方式。
save()方法处理的是数据的持久化存储,即把我们定义的Model对象转化为数据库数据,并把数据(按照字段的类型以及存储策略)存储到数据库中。
使用方法
下面是save()函数的使用方法:
创建一个Model对象
首先,我们需要先创建一个model对象,如下:
class UserInfo(models.Model):
name = models.CharField(max_length=50)
age = models.IntegerField()
mobile = models.CharField(max_length=20)
修改对象数据
我们可以通过实例化一个对象来修改数据。
user = UserInfo.objects.get(pk=1)
user.name = 'Bob'
user.age = 20
user.mobile = '13300001111'
这里通过实例化一个对象来修改数据,然后就可以使用save()方法将数据更新到数据库中。
user.save()
创建对象数据
user = UserInfo(name='Alice', age=22, mobile='13500002222')
user.save()
改进数据模型
如果我们在模型中添加了一些字段,而旧的数据中没有这些字段,而新创建的对象中却有这些字段,这时候如果仍然调用save方法,将会因为缺失这些字段而导致异常。
为了避免这种情况,我们需要设置默认值,而可以使用django提供的默认值。
class Blog(models.Model):
name = models.CharField(max_length=100)
tagline = models.TextField()
comment = models.TextField(blank=True, null=True)
pub_date = models.DateField(auto_now_add=True)
blog = Blog(name='Django Rocks', tagline='django is my favourite web frameworks', comment='Django is very easy to learn')
blog.save()
在上面的代码中,如果我们在创建的对象中没有添加comment这个字段,系统会为这个字段自动填入一个空值。
示例
以下两个示例演示了如何使用save()函数保存或更新数据库中的对象。
示例1:保存数据
首先,我们需要创建一个model对象:
class UserInfo(models.Model):
name = models.CharField(max_length=50)
age = models.IntegerField()
mobile = models.CharField(max_length=20)
然后,我们可以通过以下方式进行数据的保存:
user = UserInfo(name='Bob', age=20, mobile='13300001111')
user.save()
在这个实例中,我们创建了一个UserInfo对象,并将其保存到数据库中。这里我们设置了name、age和mobile等字段的值。最后我们调用了save()方法将该对象保存到数据库中。
示例2:更新数据
首先,我们需要先获取需要更新的对象:
user = UserInfo.objects.get(pk=1)
然后,我们可以通过以下方式更新数据:
user.name = 'Alice'
user.age = 22
user.mobile = '13500002222'
user.save()
在这个实例中,我们获取了id为1的UserInfo对象,然后我们将其name、age和mobile等字段的值分别修改为’Alice’、22和’13500002222’,最后我们调用了save()方法将该对象保存到数据库中。
以上就是关于Django的save()函数的作用与使用方法的完整攻略。