有时候我们需要同时(一次性)更新某个用户的多条属性。
1. 用户model如下:
代码语言:javascript复制class User(models.Model):
UID = models.CharField('员工uid', max_length=200,)
name = models.CharField('员工名字', max_length=200,)
mobile = models.CharField('手机号', max_length=200,)
mail = models.EmailField(u'邮箱', max_length=200)
2. 用户的数据
代码语言:javascript复制user_info = {'UID': 'ADBES682BOEO',
'name': '张三',
'mobile': '12345678911',
'mail': 'test@test.com'
}
3. 新建用户
代码语言:javascript复制User.object.create(UID='ADBES682BOEO',name='张三',mobile='12345678911',mail='test@test.com')
这就会在数据库中新建一个张三的数据。
4. 更新数据
代码语言:javascript复制user_info = {'UID': 'ADBES682BOEO',
'name': '张三2',
'mobile': '12345678912',
'mail': 'test2@test.com'
}
4.1 一般的更新操作
代码语言:javascript复制user = User.object.get(UID='ADBES682BOEO')
user.name = user_info['name']
user.mobile = user_info['mobile']
user.mail = user_info['mail']
user.save()
4.2 批量操作
代码语言:javascript复制user = User.object.filter(UID='ADBES682BOEO')
user.update(**user_info)