お世話になっております。 オブジェクトでフィルターを掛ける際に、モデルで定義した関数の戻り値を使用したいのですが、方法はありますでしょうか?
モデルには期限を設定しており、 その残存日数はステータスによって異なるので、下記のような関数を定義しています。
def remainingdays(self): if self.is_completed: return (self.completed_at + dt.timedelta(days=7) - timezone.make_aware(dt.datetime.now())).days if self.shipped_at: return (self.shipped_at + dt.timedelta(days=14) - timezone.make_aware(dt.datetime.now())).days if self.canceled_at: return (self.canceled_at + dt.timedelta(days=3) - timezone.make_aware(dt.datetime.now())).days if self.terminated_at: if self.status == 80: return (self.terminated_at + dt.timedelta(days=7) - timezone.make_aware(dt.datetime.now())).days if self.status == 90: return (self.terminated_at + dt.timedelta(days=3) - timezone.make_aware(dt.datetime.now())).days if self.flag: return (self.found_at + dt.timedelta(days=14) - timezone.make_aware(dt.datetime.now())).days if self.due_date: return (self.due_date - dt.date.today()).days return 0
この戻り値を使って、filterをかけたいのですが、 色々と探し、labda等の方法を色々と試しましたが解決が出来ず。。。
お手数ですが、ご教示を頂ければ幸いです。