求指教 类似于`tag`这种字段怎么用ORM关系表达以支持搜索

比如这样一个模型 model

class Something(models): name = models.Charfield(.....) tags = models.JSONfileld(default=[])

这个tags 字段记录一些 标签信息,是一个字符串的列表 比如 ['tag1', 'tag2', 'tag3']

我想query查询 这张表里有 ‘tag1’的tags 的内容,或者同时['tag1', 'tag2']怎么写filter呢。求助

评论 1

  • #并操作
    # 支持链式操作
    Files.objects.filter(name__contains=value).exclude(type__contains=value)
    #否操作
    Files.objects.filter(name__contains=value).filter(type__contains=value)
    #或操作
    from django.db.models import Q
    Files.objects.filter(Q(type__contains=value) | Q(name__contains=value))))