Масиви
Първо, нека разгледаме отблизо този важен текст от документа Postgresql Arrays.
Съвет:Масивите не са набори; търсенето на конкретни елементи от масива може да е признак за грешен дизайн на базата данни. Помислете за използването на отделна таблица със стрелка за всеки елемент, който би бил елемент на масив. Това ще бъде по-лесно за търсене и вероятно ще мащабира по-добре за голям брой елементи.
През повечето време не трябва да използвате масиви.
JSONB
JSONB е наличен в Django като тип JSONField. Това поле е по-мащабируемо и гъвкаво от полетата на масива и може да се търси по-ефективно. Ако обаче откриете, че търсите в JSONB полета през цялото време, горното твърдение за масивите е еднакво валидно и за JSONB.
Сега какво имате във вашата система? Масив, който съдържа поле JSONB. Това е бедствие, което чака да се случи. Моля, нормализирайте данните си.
Резюме
така че кога да използваме ArrayField?
В редките случаи, когато не е нужно да търсите в тази колона и не е нужно да използвате тази колона за обединяване.