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'])