2017-09-13 1 views
0

end_dateとstart_dateの間の値をsysdateと比較して返すことによってDatetimeFieldであるend_dateとstart_dateに基づいて、 sysdateと一致します。 start_dateend_datetodayはすべてdateオブジェクトであると仮定するとDjango:2つの日付の間の日数を見つけずにsysdateと比較し、一致する場合は返す

models.py 
class leave(models.Model): 
employee = models.ForeignKey(employees, on_delete=models.CASCADE, default='1') 
start_date = models.DateField() 
end_date = models.DateField() 

答えて

0

これは、あなたleaveインスタンスのクエリセットを提供します。あなたがそこに、サンプルの従業員のためのleaveインスタンスを重ねることemployeesクエリセットに.distinct()を追加することができないことを強制するものを持っていない場合

employees.objects.filter(leave__set_date__lt=today, leave__end_date__gt=today) 

:あなたは、従業員が必要な場合

は、外部キーに従ってください。

+0

ありがとうございました。 – divya

0

誰かが休暇にこの方法であれば、次のことが確認できます。today >= start_date and today <= end_date

import datetime 
today = datetime.date.today() 
leave.objects.filter(start_date__lt=today, end_date__gt=today) 

それとも、今日始めleaveインスタンスを含む境界、EGを含めたい場合は__lte__gteを使用します。

関連する問題