Запрос только существующих элементов в поле ArrayField
from django.contrib.postgres.fields import ArrayField
from django.db import models
class Post(models.Model):
name = models.CharField(max_length=200)
tags = ArrayField(models.CharField(max_length=200), blank=True)
Post.objects.create(name='a', tags=['1'])
Post.objects.create(name='b', tags=['1', '2'])
Post.objects.create(name='c', tags=['1', '2','3'])
Как запросить tags=[2,1]?
Теги запроса содержат только результаты 1 и 2
Вы можете использовать содержит в фильтре.
Пример для вашего случая:
Post.objects.filter(tags__contains=['1','2'])