V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Mrkon
V2EX  ›  Python

web 开发: 目录排序问题设计

  •  
  •   Mrkon · 2019-06-06 12:24:09 +08:00 · 1596 次点击
    这是一个创建于 2004 天前的主题,其中的信息可能已经有所发展或是发生改变。
    如题:
    该功能类似与有道云笔记的笔记管理,特殊的点在于排序功能

    1.我需要可以对文件夹或笔记进行随意排序.
    2.将笔记移动到另一个文件夹下(在移动到其他文件夹下后也需要排序)


    但是,排序结构我同一个简单粗暴的' ['1', '2', '3'] '结构存储 id 来保证笔记的排序. 这样的结构造成了较为麻烦的问题:
    1.我必须在每一层文件夹下储存一次 [] 作为排序依据.
    2.在排序时, 前端方面在给予后端的也是 ['1', '2'] 这样的结构. 特别是跨文件夹移动排序,前端获取 ['1', '2'] 较为麻烦.
    3.在删除笔记时,我必须重新构建 ['', '']

    我觉得这样设计很不优雅, 大家有什么好的经验吗? 希望能得到一些指点,先谢谢大家.
    4 条回复    2019-06-06 17:07:12 +08:00
    thesharjah
        1
    thesharjah  
       2019-06-06 16:41:10 +08:00
    没做过,说个想法仅供参考
    设计两个字段,sort,sort_uptime
    thesharjah
        2
    thesharjah  
       2019-06-06 16:54:56 +08:00
    @thesharjah
    嗯,貌似这样也不行
    可以考虑链表的思想
    https://www.v2ex.com/t/387001
    HuasLeung
        3
    HuasLeung  
       2019-06-06 16:58:40 +08:00
    drag and drop 拖放方式,组件位置、属性交换
    ebingtel
        4
    ebingtel  
       2019-06-06 17:07:12 +08:00
    明白 lz 的意思……假如用的是关系型数据库,可以保存<article_id, folder_id, order_id>,每次顺序有改动,就调整该 folder_id 下的所有 article 的 article_id 即可…… insert into ... on duplicate key update ...order_id = VALUES(`order_id`)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   986 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 23:04 · PVG 07:04 · LAX 15:04 · JFK 18:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.