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