user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="用户")
folder = models.CharField(max_length=768, default="/", verbose_name="目录")
file_name = models.CharField(max_length=256, default=None, null=True, verbose_name="文件名")
file_size = models.BigIntegerField(default=0, verbose_name="文件大小,Bytes")
'/a/c/d/e/f'
'/a/1.txt'
'/a/2.word'
要求:查出所有 /a/ 开头的字符串, 但后续字符串中不包含 / 以及之后的字符内容
传入参数 '/a/' ,将查询到
/a/1.txt
/a/2.word 数据.
最好是 SQL 语句,实在不行正则表达式也可以.
真的不擅长写复杂的正则表达式与 SQL 命令,如果自己查资料学,折腾的话可能要一两天,
对于经验丰富的开发者来说可能只需要 3-10 分钟.
所以如果您抽空(摸鱼)的间隙的回答能帮助到我,我将赠与您一杯奶茶钱(15 CNY)表示感谢
(支付宝账号私发我邮箱:本站用户名 @gmail.com)
1
liprais 2020-12-19 11:06:13 +08:00 via iPhone 1
15 块钱是来侮辱人的么
还是你一天的时间就值十五块钱? |
2
raaaaaar 2020-12-19 11:09:14 +08:00 via Android
你不说钱大家可能看看顺手就写了,要说钱就这
|
3
huangzhiyia OP |
4
huangzhiyia OP @raaaaaar 也许我表达有误,但我是想表达对别人的帮助感恩,这帖子不是有偿解决问题,这是两码事.
再退一步讲:大佬可能抽空三分钟可能就解决了,换算时薪是 300 块一天 2400 块,试问论坛有多少人的薪水能到达这个地步? |
5
huangzhiyia OP 花了 10 分钟学习了下写出来了,正则是
/a/.(?!/).+ 希望对后来者有帮助. |
6
makdon 2020-12-19 12:20:15 +08:00
但是你这样写,每次查 DB 都要扫全表做正则匹配吧...数据量大一点性能应该很捉鸡
|
7
huangzhiyia OP @makdon 是啊,现在我重新设计模型了,增加一个指向自身的目录外键。
|
8
chitanda 2020-12-19 14:31:40 +08:00 via iPhone
听我一句劝,这些东西,你现在觉得难不去学,以后一直这么难,大家都是这么克服过来的,没有人一上来就懂正则和数据库设计。现在有别人帮你写,以后呢?面试呢?
|
9
huangzhiyia OP @chitanda 谢谢你的建议,但是不是难不难的问题,而是解决问题的效率的问题,并且共享问题以及答案供后人参考。
我遇到的问题,自己解决了,别人遇到类似的问题,搜索引擎找不到问题也要自己解决。 共享知识与踩过的坑,给互联网多一份参考答案。 如果大家都是看源码默默解决,请教周围的人,stackoverflow 这类社区也没存在的必要,这社区的板块也没存在的必要,在新的领域谁不是新手一步一步走来,学习最好的方式就是提问。 |