Запрос только существующих элементов в поле 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'])
Вернуться на верх