仅查询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'])

如何查询标签=[2,1]?

查询标签仅包含1和2 的结果

您可以在过滤器中使用contains。

案例示例:

Post.objects.filter(tags__contains=['1','2'])

最新更新