django orm 中有没有拆分字段的方法

2019-06-21 10:58:31 +08:00
 chaleaochexist
找了半天没找到太合适的.
伪 sql

select name.split('/') from name_table;
1590 次点击
所在节点    Python
5 条回复
37Y37
2019-06-21 12:30:18 +08:00
先查出来再 split,split 放在程序做
XiaoxiaoPu
2019-06-21 13:13:07 +08:00
重载 CharField,自定义字段呗
Vegetable
2019-06-21 13:20:55 +08:00
搞不懂你想干什么,你想取出来就是分好的?你可以给 model 定义方法获取吧,何必在数据库层操作?
chaleaochexist
2019-06-21 13:23:45 +08:00
@Vegetable
@XiaoxiaoPu
谢谢,只是好奇,最后用的是#1 的方法.
Vegetable
2019-06-21 13:28:11 +08:00
class AModel(models.Model):

field = models.Charfield(...)

@property
def splited_field(self):
if self.field:
return self.field.split("/")[0]
else:
return ""

没有缩进凑合看一下,这种类似的逻辑我会直接些在 model 层写好,业务层直接调用方法来获取处理好的数据.

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

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

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

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

© 2021 V2EX