From 7717e47ce47ae1db7538fe08c6d8b9821fe4746d Mon Sep 17 00:00:00 2001 From: Dmitry Novikov Date: Thu, 26 Jul 2018 17:52:09 +0300 Subject: [PATCH] Fix --- devapp/views.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/devapp/views.py b/devapp/views.py index a4917d6..ff0d61e 100644 --- a/devapp/views.py +++ b/devapp/views.py @@ -1,4 +1,5 @@ import re +from ipaddress import ip_address from django.contrib.auth.decorators import login_required from django.contrib.gis.shortcuts import render_to_text from django.core.exceptions import PermissionDenied @@ -530,9 +531,13 @@ def search_dev(request): if word is None or word == '': results = [{'id': 0, 'text': ''}] else: - results = Device.objects.filter( - Q(comment__icontains=word) | Q(ip_address=word) - ).only('pk', 'ip_address', 'comment')[:16] + qs = Q(comment__icontains=word) + try: + ip = ip_address(word) + qs |= Q(ip_address=ip) + except ValueError: + pass + results = Device.objects.filter(qs).only('pk', 'ip_address', 'comment')[:16] results = [{ 'id': device.pk, 'text': "%s: %s" % (device.ip_address or '', device.comment)