
网上搜了好久没有搜到,例如我有一个数据表:
find=a.obejects.all() a.id 里面的值格式为:
ESN00000.11 ESN246554.12 ESN89728975.13 ESN123131.12 ..... 我想把点后面的值删除,然后对应增加到新的 a.id2 中
这个可行吗?脑袋快烂了````
1 stamaimer 2016 年 11 月 25 日 via iPhone 如果小数点后面固定只有两位的话,可以使用 slice ,如果不固定可以使用正则表达式。 |
2 windfarer 2016 年 11 月 26 日 via Android RTFM |
3 dtfm 2016 年 11 月 26 日 via Android 如一楼所言,正则大概可以这么干 先分组 m=re.match(^([\w]+).([\d]+)$,a.id),然后取出其中的 m[1]和 m[2] |
4 guoqiao 2016 年 11 月 26 日 难道不是 id1, id2 = id.split('.') 吗? |
5 georgema1982 2016 年 11 月 26 日 完全不明白你的需求是什么。 id 本来就是存储和业务无关的内容,你要修改 id 的值干什么? |
6 ericls 2016 年 11 月 26 日 先改 model 再手动 migrate 一下 |
7 pimin 2016 年 11 月 26 日 via Android |
9 kangsgo OP @ericls 意思就是数据库里的数据用正则搞一下,然后插入到新的位置,然后加一个 model 么,有没有简便一些的方法?模式好像不能过滤吧,如果模版可以过滤或者用正则就好了 |
12 YaronYang 2016 年 11 月 27 日 小白啊,感觉数据量小扔进 dict 直接切片不就完了.. |
13 zmrenwu 2016 年 11 月 27 日 考虑到数据库表已经存在,你应该再查一下 migrate 的文档,代码楼上已经给出了答案。 |