新增员工接口
首先,我们先在schema.py中定义新增员工需要传递的JSON参数的EmployeeSchema类。
接着,我们api.py中引入这个EmployeeSchema类,同时也从models.py中引入Employee模型类。
然后,我们编写新增员工的接口。在这个接口中,我们要新增员工的部门信息的时候,传递的实际上是这个部门的外键,也就是department_id,这样就能够正常的创建外键关联关系。至于日期类型的birthday字段,我们需要遵循“%Y-%m-%d”的规范,比如“1997-08-09”这样的日期格式,Django的ORM会自动帮我们将字符串类型的日期格式,转换为Date类型的日期格式并存入到数据库中。
最后,我们在通过接口文档,给ID为1的部门添加一个叫做“张三的”员工。
查询所有员工接口
这个接口和查询所有部门的接口在逻辑上基本一致,不同的是返回的字段不同。
上面的方法只是简单的返回了数据。关于将Employee的模型对象转换为字典这个操作比较通用,所以,我们可以优化为方法。我们在utils.py中定义一个employee_to_dict方法,用于统一将Employee的模型对象转换为字典。
紧接着,在api.py中,我们导入定义的这个方法。
然后,我们修改api.py中获取所有员工的接口。
最后,通过接口文档进行测试:http://127.0.0.1:8000/api/docs
根据ID查询员工接口
有了查询所有员工接口封装的employee_to_dict方法以后,我们要实现根据ID查询员工接口就变得简单了。我们只需要根据用户传过来的ID从数据库进行查询,如果没有查询到就返回10404不存在;否则将查询结果转换为dict进行统一规范格式的返回。
整合loguru日志
安装依赖库:
接着,在settings.py中,根据DEBUG的值,动态的配置日志。
最后,在api.py中,根据ID查询员工的接口中,如果查询员工失败,则使用日志进行记录。
根据ID修改员工接口
这个接口和根据ID修改部门接口类似。
用于测试的JSON:
根据ID删除员工接口
领取专属 10元无门槛券
私享最新 技术干货