【问题标题】:Django JSONField string containmentDjango JSONField 字符串包含
【发布时间】:2017-03-05 03:19:50
【问题描述】:

使用 Django 1.10 的 JSONField,我想通过 json 字段过滤查询集,该字段在包含子字符串(类似 sql)的特定键处具有值。 例如有一个 json 字段link,带有url 键。我想要它的 url 包含的对象 .jpg

【问题讨论】:

标签: django contains django-jsonfield


【解决方案1】:

如果可以,我将为视图/模型创建一个“get_queryset”函数:

    def get_queryset(self):
        queryset = Entry.objects.all()
        json = params.get('json', None)
        if json is not None:
            """ DO STUFF HERE TO STRIP THE JSON TO THE WANTED LINK """
            q = queryset.filter(json__icontaints=".jpg")
        return q

在此处阅读有关此主题的更多信息:https://docs.djangoproject.com/en/1.10/topics/db/queries/

【讨论】:

  • 官方文档中指定,contains在过滤json字段时有特殊含义,你使用icontains作为普通字段
  • 这(json__containsjson__icontains)不适用于 JSON 字段。 code.djangoproject.com/ticket/26511
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-06-21
  • 2015-05-31
  • 1970-01-01
  • 2011-03-11
  • 2019-12-13
  • 2017-02-21
  • 2017-08-03
相关资源
最近更新 更多