title: DRF - django_filters -Using custom methods
body: <p>I have a model like this:</p>
  
  <pre><code>class Agreement(models.Model):
      file_no = models.IntegerField(primary_key=True)
      contract_date = models.DateField()
      contract_time = models.IntegerField()
  
      @property
      def calculate_expiry_date(self):
          return self.contract_date + relativedelta(years=self.contract_time)
  
      @property
      def is_expired(self):
          return (self.contract_date + relativedelta(years=self.contract_time)) &lt; timezone.now().date() 
  
  </code></pre>
  
  <p><code>is_expired</code>  function returns true or false for each agreement</p>
  
  <p>and I have a simple filter like this:</p>
  
  <pre><code>class AgreementFilter(filters.FilterSet):
      file_no = filters.NumberFilter(lookup_expr='icontains')
  
      class Meta:
          model = Agreement
          fields = ['file_no',] 
  
  </code></pre>
  
  <p>I  think that I cannot filter on the property field because Django filters operate at the database level. So how can I make it work to filter agreement model objects if it is valid or invalid or either true or false</p>