多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# 数据增删改 ## 1、增 有以下两种方式 1. **`模型类对象.save()`** ~~~ # 新增部门 d = Department() d.name = '人事部' d.create_date = '2017-1-1' d.save() # 新增员工 e = Employee() e.name = '龙五' e.age = 30 e.gender = 0 e.salary = 10000 # 注意关联属性的赋值 e.department = Department.objects.get(id=1) e.save() ~~~ 2. **`模型类.objects.create(属性1=值1,属性2=值2, ...)`** ~~~ Department.objects.create( name='后勤部', create_date='2017-1-1' ) ~~~ ## 2、删 有以下两种方式 1. **模型类对象.delete()** ~~~ d = Department.objects.get(id=1) d.delete() ~~~ 2. **模型类.filter(条件).delete()** ~~~ Department.objects.filter(id=1).delete() ~~~ **注意事项: on\_delete选项** * 默认值为`models.CASCADE`,当删除部门时,会删除相关联的员工 ~~~ department = models.ForeignKey('Department', on_delete=models.CASCADE) ~~~ * 如果不想删除关联数据,可设置`on_delete`为 PROTECT ~~~ department = models.ForeignKey('Department', on_delete=models.PROTECT) ~~~ ## 3、改 有以下两种方式 1. **`模型类对象.save()`** ~~~ # 方式一: 调用save方法 d = Department.objects.get(id=1) d.name = '人事部' d.save() ~~~ 注意:`id`已存在,调用`save`方法时为修改,否则为新增 2. **模型类.filter(条件).update(属性1=值1,属性2=值2, ...)** ~~~ Department.objects.filter(id=1).update(name='人事部') ~~~