私のDjangoプロジェクトでは、旅行が現在進行中であるかどうかを確認するために、旅行の日付範囲を計算する必要があります。Django:計算されたフィールドでフィルタリング
class TourTemplate(models.Model):
length= models.IntegerField()
description = models.TextField(max_length=1000)
...
class Trip(models.Model):
tourtemplate= models.ForeignKey(TourTemplate)
start= models.DateField()
...
私は私の旅のモデルにこれを追加しました:シェルで
def end(self):
length= self.tourtemplate.length
start= self.start
a=start+ timedelta(days=length)
return a
を、単一のオブジェクトの終了日を動作し、返します。しかし、私はクエリーセットをフィルタリングして、開始日と計算された終了日の間のオブジェクトしか取得できないようにするにはどうすればよいですか?今
を、あなたは私だけの間でオブジェクトを取得するように、「私のクエリセットをフィルタリングするために何を試してみました開始日と計算された終了日? –
私は終了日に注釈をつけてみました: 'Trip.objects.all()。annotate(end = Trip.end())' これは私に " 1つの必須の位置引数: 'self' " – yabd
オブジェクトの開始日と計算された終了日を使用して、2つの*指定された*日付内のオブジェクトを検索しますか? –