title: Django QuerySet Filter no result when looking up a string containing a point
body: <p>I am not sure if I may googled wrong or if I just can't see my mistake.</p>
  
  <p>I am using Django 3.x with a postgreSQL Database with a schema called django2.</p>
  
  <p>I have a Model in Django containing a CharField to save an IPv4 Address. Yes I know about GenericIPAddressField and may switch to that.</p>
  
  <pre><code>class APN(models.Model):
      address = models.CharField(max_length=64)
      username= models.CharField(max_length=64, unique=True, primary_key=True)
      password = models.CharField(max_length=64)
      ip = models.CharField(max_length=64)
      responsible_user= models.CharField(max_length=64, null=True)
      assigned = models.BooleanField(default=False)
  </code></pre>
  
  <p>Now I want to filter with <code>results_apn = APN.objects.filter(ip__contains=query)</code> where <code>query</code> is a string.</p>
  
  <p>Filtering the QuerySet on <code>ip__contains=query</code> leads me to two observations:</p>
  
  <ol>
  <li>when looking up for a number without any dots (e.g. 100 or 254) then I'll get all IPs containing that particular string</li>
  <li>whenn looking up a part of an IP or the full IP (e.g. 10.171.16.14 or 17.128) then I'll get no results.</li>
  </ol>
  
  <p>I got the query that Django generates (QuerySet.query):</p>
  
  <pre><code>SELECT "sim_apn"."address", "sim_apn"."username", "sim_apn"."password", "sim_apn"."ip", "sim_apn"."responsible_user", "sim_apn"."assigned" FROM "sim_apn" WHERE "sim_apn"."ip"::text LIKE %10.171.16.14%
  </code></pre>
  
  <p>Ad If I'll use this directly in SQL then I am getting a result. But Django does not want to give me an answer to that. </p>
  
  <p>Am I missing something or does Django have problems with points in filter queries?</p>
  
  <p>Thanks in advance.</p>