满口金牙 2021-11-03 17:28 采纳率: 91.1%
浏览 56
已结题

后端处理, mysql 用户自定义表格的操作,问题讨论!

我现在都是 django 里写好 models 然后,同步生成 mysql 数据表
然后再根据不同的 数据表, 写视图函数 等等

** 现在问题, 如果用户需要自定义表格(自定义字段名,自定义列数),咋整? 用户不可能 去后端写models**
我现在有两个思路,就瞎想,抛砖引圡

一,在django 里 编个 能自动生成 models 的代码,
前端传过指令,自动成生 models, 并同步生成 mysql表格
这好象有些挑战, 相关 路由,视图函数, 等代码都要自动生成
可能还有安全问题,相当于客户直接写了一个代码在后端上

第二个解决思路:
我的所有表格,只建二个 fields, Id, content,
在content 这字段里存 { name:'', age:"} , 这样的对象
前端根据对象的 key 来生成可视化Html表格字段, 用户可以对key进行增删改,
但是这又有一个问题,用户不可能要所有的数据,**
查询过滤 有一个效率问题, 要把所以的 对象都拿出来, 然后遍历里面的 key, value 值,

实际开发中,遇到这个问题,一般是怎么个处理?

请朋友给个好的建议

  • 写回答

1条回答 默认 最新

  • 七号公园的忧伤 Java领域新星创作者 2021-11-03 22:57
    关注

    我理解你说的自定义列。就比如一个人又很多属性。又名字、性别。然后用户通过前端页面再添加别的属性。
    一般解决思路:用两张表。一张表A存储userId,id 表示用户插入的数据。另外一张表A_id,keyname, value。
    比如A:{id:1, userId:123} B:[{A_id:1, keyname:name, value:zhangsan}, {A_id:1, keyname:sex, value:男},{A_id:1, keyname:age, value:19}]
    类似这种,相当于纵表,平时使用都是横表

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月18日
  • 已采纳回答 11月10日
  • 修改了问题 11月3日
  • 创建了问题 11月3日

悬赏问题

  • ¥30 靶向捕获测序探针设计自学
  • ¥15 写代码写代码单片机代码写代码写数字按键代码
  • ¥15 django按照距离进行排序
  • ¥15 (标签-微信|关键词-微信公众号)
  • ¥15 matlab中mjs用不了
  • ¥15 Ios抖音直播的时候如何添加自定义图片在直播间!
  • ¥60 riscv-pulpino总线上挂载axi从机
  • ¥15 ssh登录页面的问题
  • ¥50 关于在matlab上对曲柄摇杆机构上一点的运动学仿真
  • ¥15 jetson nano