Answer a question

I was wondering if it's possible to store an array in a Django model?

I'm asking this because I need to store an array of int (e.g [1,2,3]) in a field and then be able to search a specific array and get a match with it or by it's possible combinations.

I was thinking to store that arrays as strings in CharFields and then, when I need to search something, concatenate the values(obtained by filtering other model) with '[', ']' and ',' and then use a object filter with that generated string. The problem is that I will have to generate each possible combination and then filter them one by one until I get a match, and I believe that this might be inefficient.

So, I hope you can give me other ideas that I could try.

I'm not asking for code, necessarily, any ideas on how to achieve this will be good.

Answers

I'd have two advices for you:

1) Use ArrayField if you are using PostgreSQL as your database. You can read more about ArrayField here.

2) Encode your array as JSON and store it either as a plain string or using a JSONField as found here.

I'd personally prefer option number 1 since that is the cleaner and nicer way but depending on what you are actually using to store your data that might not be available to you.

Logo

Python社区为您提供最前沿的新闻资讯和知识内容

更多推荐