title: search all fields in django
body: <p>I have 5 tables in my model.py and I want so search all of them with one string, i.e compare all fields in a tables with one search string. But I am nt able to find how I can do that. </p>
  
  <pre><code>class Person(models.Model):
  
      mail=models.EmailField()
      firstName=models.CharField(max_length=200)
      lastName=models.CharField(max_length=200)
      phoneNumber=PhoneNumberField()
      streetAdress=models.CharField(max_length=200)
      zipcode=models.CharField(max_length=200)
      city=models.CharField(max_length=200,default="Göteborg")
      country=models.CharField(max_length=200,default="Sweden")
  
      def __str__(self):
          return "%s %s" % (self.firstName,self.lastName)
  
      class Meta:
          ordering = ('firstName','lastName')
  
  class Role(models.Model):
  
      role=models.CharField(max_length=200)
      person=models.ManyToManyField(Person)
  
      def __str__(self):
          return self.role
  
      class Meta:
          ordering = ('role',)
  
  class Name(models.Model):
  
      name=models.CharField(max_length=200)
      role=models.ForeignKey(Role,on_delete=models.CASCADE)
  
      def __str__(self):
          return self.name
  
      class Meta:
          ordering = ('name',)
  
  class Address(models.Model):
  
      name=models.ForeignKey(Name,on_delete=models.CASCADE)
      venue=models.CharField(max_length=200,default="Company AB")
      street=models.CharField(max_length=200)
      city=models.CharField(max_length=200)
      mail=models.EmailField()
      phone=PhoneNumberField(default="")
  
      def __str__(self):
           return str(self.venue)
  
      # def __str__(self):
      #     return str(self.phone)
  
      class Meta:
          verbose_name_plural = "addreses"
  
      class Meta:
          ordering = ('name',)
  
  class Date(models.Model):
  
      date=models.DateField()
      location=models.ManyToManyField(Address)
  
      def __str__(self):
           return str(self.date)
  </code></pre>
  
  <p>and doing search is done only in the name field:</p>
  
  <pre><code>class Search(ListView):
      print("class Search")
      model=Person
      template_name='artdb/search.html'
      context_object_name='ans'
  #    Pdb().set_trace()
  
      def get_queryset(self):
          q=self.request.GET.get('seastr')
          if q:
              qans=firstName__icontains=q
              return Person.objects.filter(firstName__icontains=q)
          else:
              return Person.objects.all()  # SELECT ... WHERE headline ILIKE '%Lennon%';
  
  
      def get_context_data(self, **kwargs):
          context = super().get_context_data(**kwargs)
          context['seastr'] = self.request.GET.get('seastr')
          return context
  </code></pre>
  
  <p>is there anyway to do a search for all tables and fields? like a wildcard search? is there any equivalent wildcard search to __icontains?</p>