问个技术问题: HTML 表单中 MutilpleSelect 有大量的待选数据该如何优化?

2019-02-23 15:51:28 +08:00
 mywaiting

编写 HTML 表单,有 MutilpleSelect 选择框,本来也没有啥特别的,用了 Python WTForms 处理表单的 data validate,待选的数据直接默认传入 form.tags.choices = [....] 就可以了

然而上线后发现这样粗糙的方法根本招架不住,因为这个 MutilpleSelect 选择框对应选择的整个数据库的 tags 标签,而整个数据库的 tags 标签数量有几十万

这样 form.tags.choices = TagsORM.query.fetchall() 瞬间内存就爆满了

google 多方搜索,得到的也是用 Select2 (貌似 V2 这里都有用到),我仔细看过文档,发现就是采用 search 大量的数据然后将需要用的 json 数据放到页面上,但是,很多的细节,比如:

  1. 如果表单带有默认的 tags 该如何处理和显示
  2. search 大量数据是否需要优化后端的 mysql index
  3. 对于 Select2 这个与 WTForms 的配合,网上的资料尤其少

有同学在用 WTForms+Select2 的吗?能否分享一下看法?如果有更好的资料,麻烦丢个链接

谢谢!

878 次点击
所在节点    问与答
2 条回复
jugelizi
2019-02-23 16:47:19 +08:00
逻辑有问题啊 不是先放热门标签
用户输入自动匹配吗
mywaiting
2019-02-23 18:08:37 +08:00
@jugelizi #1 现在就是这样的逻辑啊,用户输入,然后 auto complete 返回后端已经有的 tag id

问题不是在于 新建 条目插入 tag,而是 编辑 已有的条目增删 tag

特别是配合 WTForms+Select2,想找个现成的例子,懒得自己写了............

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/537954

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX