2010-10-18 32 views
75

Tôi đang tìm cách thực hiện truy vấn chọn giữa các ngày với Django.Chọn giữa hai ngày với Django

Tôi biết làm thế nào để làm điều này với SQL thô khá dễ dàng, nhưng làm thế nào điều này có thể đạt được bằng cách sử dụng ORM Django?

Đây là nơi tôi muốn thêm giữa ngày 30 ngày trong truy vấn của tôi:

start_date = datetime.datetime.now() + datetime.timedelta(-30) 
context[self.varname] = self.model._default_manager.filter(
    current_issue__isnull=True 
    ).live().order_by('-created_at') 

Trả lời

163

Sử dụng __range điều hành:

...filter(current_issue__isnull=True, created_at__range=(start_date, end_date)) 
+0

Là "created_at" một lĩnh vực tùy ý trong một mô hình hoặc là cơ sở dữ liệu này thực tế đăng nhập khi hồ sơ được tạo ra? – Philip556677

Các vấn đề liên quan