Arrays
Først og fremmest, lad os se nærmere på denne vigtige tekst fra Postgresql Arrays-dokumentet.
Tip:Arrays er ikke sæt; søgning efter specifikke array-elementer kan være et tegn på databasefejldesign. Overvej at bruge en separat tabel med pil for hvert element, der ville være et array-element. Dette vil være lettere at søge og vil sandsynligvis skalere bedre for et stort antal elementer.
Det meste af tiden bør du ikke bruge arrays.
JSONB
JSONB er tilgængelig i Django som JSONField-typen. Dette felt er mere skalerbart og fleksibelt end matrixfelter og kan søges mere effektivt. Men hvis du finder dig selv at søge i JSONB-felter hele tiden, er ovenstående udsagn om Arrays lige så gyldig for JSONB.
Hvad har du nu i dit system? Et array, der indeholder JSONB-feltet. Dette er en katastrofe, der venter på at ske. Normaliser venligst dine data.
Recap
så hvornår skal man bruge ArrayField?
En sjælden gang, hvor du ikke behøver at søge i den kolonne, og du ikke behøver at bruge den kolonne til at deltage.