2014-05-12 80 views
1

我有一個模型Django的:日期時間查詢

class Booked(models.Model): 
    start_date_time = models.DateTimeField() 
    end_date_time = models.DateTimeField() 
    resource = models.ForeignKey(Resouce) 

如何檢查特定日期時間範圍內沒有任何預訂對象的開始或結束日期時間之間下降?

我要檢查,如果我能預訂說book_start_datebook_end_date資源沒有它那個範圍

回答

3

使用__lte__gteexists()期間已經預訂檢查是否有東西在日期範圍:

Booked.objects.exists(start_date_time__lte=book_end_date, 
         end_date_time__gte=book_start_date) 

另見:Determine Whether Two Date Ranges Overlap

+0

您可以使用__range或者:http://stackoverflow.com/questions/4668619/django-database-query-how-to-filter-objects-by-date-range – danielfranca