【发布时间】:2015-01-29 06:39:44
【问题描述】:
我正在开发/维护/管理从各种可穿戴研究设备收集的测试结果数据库。每个设备都有三个主要组件,每个组件都有两个版本号(固件和硬件)。我正在使用 django 应用程序为数据库提供 Web 界面。版本号表示为直整数或三元组(主要、次要、构建)。整数很容易处理,我显然可以将三元组存储为字符串,但作为字符串,它们将无法正确排序或正确比较,例如,如果我只想要固件版本低于 14.x.y 的设备产生的测试结果。
由于第二个“小数点”分隔符,我不能使用浮点数。我想也许可以通过将其存储为日期来进行黑客攻击,但这会将次要编号限制为小于 12 并将构建编号限制为小于 29,此外我知道这是一个糟糕的解决方案。我什至不应该承认自己曾想过。
没有用一些 PL/SQL 扩展数据库以提供正确处理字符串的比较函数,有没有简单的方法来做到这一点?如果没有,我什至可以在 django 中使用我的自定义 SQL 函数吗?
【问题讨论】:
-
为什么不将其存储为字符串?
-
因为 '10' 作为字符串排在 '2' 之前
标签: python mysql django tuples