老师,数据库没有外键,怎实现对数据库的增删改查操作

来源:11-3 首页商品分类显示功能-1

_大風起兮云飞扬_

2018-05-10

数据库当时在设计的时候考虑到以后的扩容和大的数据量 ,所有的外键关系全都拆分成多表通过主键ID来做,但是这样做的话serializer里面 post/get/put 感觉全部都要分开实现,get请求我的解决办法是写一个只读的SerializerMethodField

然后在get_  方法里面通过写数据库查询逻辑查相关联的数据,这样是可以查到,但是get/put方法目前遇到困境了,不知道怎么解决,老师有更好的解决这种没外键的 关系数据库的 方式么。 之前想自己写serializer.Seralizer 然后重载create方法,在create方法里面分别将多表的字段存储到各自的数据库中去,但是最后返回的只是一个数据库表的 Model.object.create() ,导致后面调用的时候会报错,说其他表的字段不再这个model中

写回答

1回答

bobby

2018-05-10

数据库设计中 model里面你仍然可以设置外键, 但是数据库中你把外键删除 就是说数据库中不是外键 但是你的model仍然是外键, 这样其实也不会有问题的, 既保留了数据库不是外键, 同时又可以使用model的外键查询功能,你可以试试

1
3
bobby
回复
winfred_wu
外键机制插入和更新数据性能会降低,但是使用的时候更方便,性能也会好一些,如果你对性能要求高就不要用外键了,但是数据一致性你需要自己保证
2020-05-17
共3条回复

Python前后端分离开发Vue+Django REST framework实战

Django REST framework课程视频,RESTFul API前后端分离开发

2873 学习 · 2457 问题

查看课程