首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Django Ninja 开发员工管理增删改查接口

新增员工接口

首先,我们先在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删除员工接口

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OJ-VTmHd8GFHB7SptBOh2uaQ0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券