我开始将 peewee 与 sqlite 数据库引擎一起使用,并且对我应该使用哪种字段类型有很多困惑。我现在为自己编写小脚本,所以性能不是问题,但由于数据类型限制可能导致数据丢失。在官方peewee 文档中列出了很多类型,但没有提供有关它们的信息。我希望他们的限制以更清晰的方式提供,就像w3 那样。我现在正在进行各种测试并得到奇怪的结果。像 IntegerField 一样,BigIntegerField 和 SmallIntegerField 实际上映射在相同的列类型中(那么让它们不同有什么意义呢?)。CharField 映射到 VARCHAR(255) 但我可以在那里存储大量文本 - 它是安全的还是应该被视为不可预测的行为?FixedCharField 也允许存储大文本,但在不截断的情况下破坏它们,等等。我正在调查sqlite 文档同样,但只介绍了 5 种基本类型。尽管我在 DB 浏览器 For SQLite 和 PyCharm 的 DB Browser 扩展中清楚地看到,peewee 实际上使用更广泛的映射(例如,使用不是由 sqlite 引入的 VARCHAR)或以自己的方式解释现有类型(例如,允许 .save() BooleanField 中的大量值将它们截断为 0 或 1)。充其量,我希望知道使用 sqlite 引擎时所有 25 种字段类型之间的确切限制和区别。不过,最好只知道存储整数、浮点、文本和任意二进制数据的最大限制的字段类型——在这些广义类别中——我应该选择哪种类型来安全地存储最多的数据?
添加回答
举报
0/150
提交
取消