0025 DRF框架开发(12 多表增删改的实现)

  一个接口同时更新多个表的步骤如下:

  先针对每个表写一个序列化器

  在视图中接收数据,并根据数据分别调用不同的序列化器。

1 新增主从表

  在视图中先接收数据,把主从表的数据分别放在不同的字典里,把主表字典传入主表序列化器,如果主表数据存在,则获取主表ID,如果主表记录不存在,则先新增主表记录,完成后得到该记录的ID,再把ID加入到从表字典中,调用从表序列化器更新。

2 修改主从表

  在视图中接收数据,把主从表的数据分别放在不同的字典里,先调用主表序列化器更新主表,再调用从表序列化器更新从表。

3 删除主从表

  在视图中接收数据,把从表中的主表ID找出来,先删除从表,再查询从表记录中是否存在该主表的其它记录,如果不存在,则删除主表,如果存在,则不用考虑了。

  一句话:多表的增删改,就是在视图中先把不同表的数据重新各表所需要的字典,然后,再转化为单表增删改!

.

 

原文地址:https://www.cnblogs.com/dorian/p/12380983.html