首页 > 解决方案 > Django在modelfield的字符串值中搜索

问题描述

这是我要存储在 model.CharField 中的字符串值:

"8;4,8;0;D;0;0;"

有没有一种方法可以有效地查询条目以搜索最后一个值为 1 的条目?或者例如,第一个分号后的两个值中的一个是 6?

或者在这种情况下,最好为每个值创建单独的字段?这将是不幸的,因为我需要创建 60 个或更多字段而不是大约 10 个。

标签: djangodjango-models

解决方案


以这种方式存储值意味着您的数据库不是“第一范式”(1NF - https://en.wikipedia.org/wiki/First_normal_form)。规范化您的数据库使搜索更容易(还有许多其他好处)。

查看 3NF 维基百科文章了解更多详细信息 ( https://en.wikipedia.org/wiki/Third_normal_form ) 和参考资料。


推荐阅读