2016-10-26 6 views
3

私は製品が次のX日でお届けしてもらう必要がある2つのモデルDjango - クエリはどのようにクエリを実行しますか?

Product 
    id: 
    delivery_date: DateTimeField 
    contract: FK 

Contract 
    id: 
    safety_days: IntegerField 

を持っています。このXは、契約書でsafety_daysとして定義されています。

products = Product.objects.filter(
    Q(delivery_date__lte=(datetime.datetime.now() + timedelta(days=contract__safety_days))) 
) 

しかし、私が行うことができないです:

days = contract__safety_days 

私は動的にこれを行うには、クエリ内のオブジェクト自体を参照することができるのか分かりません。

敬具、あなたがこのクエリのF expressionsを使用する必要が ルーベン・バロス

答えて

4

。 クエリは次のようになります。

products = Product.objects.filter(
    Q(delivery_date__lte=(datetime.datetime.now() + timedelta(days=F('contract__safety_days')))) 
) 
+0

はい!それは私が探していたものでした:D – Ruben

関連する問題