2016-10-23 1 views
1

Использование Django 1.10's JSONField, я хочу, чтобы фильтр queryset в поле json, которое имеет значение в определенном ключе, которое содержит подстроку (sql like). , например. есть поле json link, с ключом url. я хочу, чтобы объекты, которые это URL содержит .jpgDjango JSONField строка сдерживания

+0

Нет поддержки django afaik, необработанный запрос, который вам нужен http://stackoverflow.com/questions/28718958/postgresql-like-query-in-json-field – serg

ответ

0

Если вы можете, я буду создавать это с «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/

+0

, как указано в официальных документах, '' 'contains''' имеет особый смысл при фильтрации поля json, вы использовали значки с нормальными полями – Mohsen

+0

Это ('json__contains',' jso n__contains') не будет работать для полей JSON. https://code.djangoproject.com/ticket/26511 – jhrr

Смежные вопросы