小编典典

是否可以在Django模型中存储数组?

python

我想知道是否可以在Django模型中存储数组?

我问这个问题是因为我需要int在一个字段中存储一个数组(例如[1,2,3]),然后能够搜索特定的数组并与之匹配,或者通过它的可能组合来进行匹配。

我当时正在考虑将该数组存储为CharFields中的字符串,然后在需要搜索内容时,将值(通过过滤其他模型获得)与’[‘,’]’和’,’连接在一起,然后使用带有生成字符串。问题在于,我将必须生成每种可能的组合,然后逐个过滤它们,直到获得匹配为止,而且我认为这样做可能效率不高。

因此,我希望您能给我其他可以尝试的想法。

我并不是在要求代码,关于如何实现这一点的任何想法都是很好的。


阅读 215

收藏
2020-12-20

共1个答案

小编典典

我有两个建议给您:

1)ArrayField如果您使用PostgreSQL作为数据库,请使用。您可以ArrayField
在此处了解更多信息。

2)将数组编码为JSON,并将其存储为纯字符串或使用此处JSONField找到的。

我个人更喜欢第1个选项,因为这是一种更干净,更好的方法,但是取决于您实际用于存储可能无法使用的数据的方式。

2020-12-20